我正在尝试在Mac上设置我的ssh配置(Mac OS Sierra 10.12.6),以便在密钥链中存储我的ssh密钥的密码。以前我可以用
做到这一点ssh-add -K ~/.ssh/id_rsa
但最近这似乎不再起作用了。在this article之后,Mac OS中ssh配置的行为似乎发生了变化> 10.12.2以及解决此问题的建议方法是将UseKeychain yes
添加到ssh配置中。我的.ssh/config
部分是Host *
:
Host *
Port 22
ServerAliveInterval 60
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
UseKeychain yes
尝试ssh到外部主机时,收到以下错误消息:
$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
为什么会发生这种情况以及如何解决这个问题?谢谢!
答案 0 :(得分:65)
答案 1 :(得分:23)
接受的答案对我有所帮助,但并没有完全解决我的问题,因为我有多个不好的选择。以下是您遇到此问题时的示例:
Host *
IgnoreUnknown AddKeysToAgent,UseKeychain
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
答案 2 :(得分:0)
代替ssh-add键入“ open .ssh / id_rsa”并将其添加到钥匙串中
在我的配置中,UseKeychain选项从未出现过糟糕的情况,但是在开始之前,我在其他任何主机之前都有以下内容
Host *
UseKeychain yes
Host (...)
答案 3 :(得分:0)
我用以下方法修复了我的问题,首先切换到root之后,在atom中首先打开配置:
sudo su
atom /Users/tom/.ssh/config
然后我使它看起来像这样:
#Host *
# UseKeychain no
IdentityFile /Users/tom/.ssh/id_rsa
现在,在这种情况下,我可以使用“ ssh cheese”登录我的linuxbox。我没有将/ Users / tom换成〜,因为当时我是root用户,所以Atom可以保存。如果您不是“ tom”,请交换用户名。
PS此修复程序适用于macOS 10.9,后者不再支持钥匙串。我想过去。
答案 4 :(得分:0)
我遇到了同样的问题,我意识到当按照说明开始生成密钥时。第一步就是这个。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
我没有更改电子邮件地址,但是我当然忘了这样做:D。因此,请确保不要忘记这一步,一切都会好起来的。
答案 5 :(得分:-1)
我刚刚注释掉了一行,然后scp / ssh重新开始为我工作。