您好我的ssh配置文件设置为ssh代理自动添加ssh密钥。但是,目前它不起作用。它以前工作。我更新了bitbucket的ssh密钥,它不再有效。当我重新启动时,我必须使用ssh-add -K选项手动添加ssh密钥。
有人可以帮我弄清楚为什么ssh配置不起作用吗? AddKeysToAgent yes选项是为了启用自动添加ssh密钥。
我正在运行macOS Sierra 10.12.4
这是config(为了敏感目的,我更改了服务器名称)
GSSAPIAuthentication no
# --- SourceTree Generated ---
Host cik-bitbucket__com
HostName bitbucket.com
User cik
PreferredAuthentications publickey
IdentityFile /Users/cik/.ssh/cik-bitbucket__com
UseKeychain yes
AddKeysToAgent yes
# ----------------------------
Host *
UseKeychain yes
AddKeysToAgent yes
ServerAliveInterval 15
IdentityFile /Users/cik/.ssh/id_rsa
Host jenkins
HostName pasjenkins1.mycompany.com
UseKeychain yes
AddKeysToAgent yes
Host jenkinsqa
HostName pasjenkinsqa.mycompany.com
UseKeychain yes
AddKeysToAgent yes
Host artifactory
HostName prp01
UseKeychain yes
AddKeysToAgent yes
Host bitbucket
HostName bitbucket
UseKeychain yes
AddKeysToAgent yes
Host confluence
HostName confluence01
UseKeychain yes
AddKeysToAgent yes
Host jira
HostName jira01
UseKeychain yes
AddKeysToAgent yes
Host vagrant
HostName 127.0.0.1
Port 2222
User vagrant
IdentityFile /Users/cik/.vagrant.d/insecure_private_key
Host localhost
HostName 127.0.0.1
Port 2222
User vagrant
IdentityFile /Users/cik/.vagrant.d/insecure_private_key
更新
订单很重要。
这有效
ssh-add -D
ssh-add -K /Users/cik/.ssh/cik-bitbucket__com
ssh-add
git push (Works)
不起作用
ssh-add -D
ssh-add
ssh-add -K /Users/cik/.ssh/cik-bitbucket__com
git push (Works)
答案 0 :(得分:4)
您的代理中有太多密钥,在服务器拒绝之前只能尝试有限数量的密钥。幸运的是,你有很好的配置区分每个主机的密钥,所以你应该能够通过设置
来解决这个问题IdentitiesOnly yes
您的ssh_config
。中的配置选项