我正在尝试在 Mac(Mac OS Sierra 10.12.6)上设置我的 ssh 配置,以便将我的 ssh 密钥的密码短语存储在钥匙串中。以前我可以这样做
ssh-add -K ~/.ssh/id_rsa
但是最近这似乎不再起作用了。在本文之后,Mac OS > 10.12.2 中 ssh 配置的行为似乎发生了变化,解决此问题的推荐方法是添加UseKeychain yes到您的 ssh 配置中。所以这是我的.ssh/config部分Host *:
UseKeychain yes
.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
任何想法为什么会发生这种情况以及我该如何解决?谢谢!
尝试指定另一个选项,IgnoreUnknown如下所示:
IgnoreUnknown
Host * IgnoreUnknown UseKeychain UseKeychain yes
您可以在此处找到有关此的更多信息。
如果您已有IgnoreUnknown值,请使用逗号分隔值
Host * IgnoreUnknown AddKeysToAgent,UseKeychain AddKeysToAgent yes UseKeychain yes
如果您有多个Host使用该UseKeychain选项的配置,请确保将
Host
UseKeychain
Host * IgnoreUnknown UseKeychain
在使用该选项的第一个主机之前,例如将其放在文件的顶部。
如果您不想(或不能)修改您的 SSH 配置文件,您也可以在命令行连接时传递此选项:
ssh -o IgnoreUnknown=UseKeychain my-host