在本地有多个 ssh key,使用 ssh-config 文件配置了访问服务器的 key id_rsa_a 和访问代码库的 key id_rsa_code,具体 config 如下:
Host git
HostName xxx.gitlab.com
User spiderman
IdentityFile ~/.ssh/id_rsa_code
AddKeysToAgent yes
Host server
HostName 10.10.11.111
User xxx
IdentityFile ~/.ssh/id_rsa_server
AddKeysToAgent yes
使用命令 ssh server 时没有问题,不需要密码可以登录,但是使用 git 时,总是提示需要输入密码。从网上查找说是需要把 id_rsa_code 这个加入到 ssh-agent 里,但通过 ps -ef 可以看到有一个 ssh-agent 进程,只是在登录用户下做 ssh-add -L 时提示 clould not open a connection to your authentication agent.。
请教下这种情况是什么原因?我之前电脑没有出现这种问题,配置 config 之后就可以用多个 key 了。现在是所有机器只要多个 ssh key 都会出现这个问题。 出现问题的环境:
- manjaro,主力开发机,已经启动 gnome-keyring 时没问题,但是从其他机器 ssh 远程到这台机(同一个用户)就会报上面错误;
- WSL 里使用 git 也会出现上述错误。
但另一个服务器 centos 里只有一个 ssh key 的情况下,不会出现,且 centos 里都没有启动 ssh-agent。