.ssh / config:"错误的配置选项:UseKeychain"在Mac OS Sierra 10.12.6上

时间:2017-11-23 12:10:50

标签: macos ssh macos-sierra

我正在尝试在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

为什么会发生这种情况以及如何解决这个问题?谢谢!

6 个答案:

答案 0 :(得分:65)

尝试指定其他选项,即IgnoreUnknown,如下所示

IgnoreUnknown UseKeychain
UseKeychain yes

您可以找到有关此here的更多信息。

答案 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重新开始为我工作。