代码之家  ›  专栏  ›  技术社区  ›  Michael Lihs Paul Kenjora

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

  •  170
  • Michael Lihs Paul Kenjora  · 技术社区  · 7 年前

    我试图在Mac(Mac OS Sierra 10.12.6)上设置我的ssh配置,使其将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 回复  |  直到 7 年前
        1
  •  325
  •   Erik    4 年前

    尝试指定另一个选项,即 IgnoreUnknown 如下所示:

    Host *
      IgnoreUnknown UseKeychain
      UseKeychain yes
    

    你可以找到更多关于这个的信息 here .

    如果你已经有了 忽略未知 值,使用逗号分隔的值

    Host *
      IgnoreUnknown AddKeysToAgent,UseKeychain
      AddKeysToAgent yes
      UseKeychain yes
    

    如果您有多个 Host 配置使用 UseKeychain 选项,请确保

    Host *
      IgnoreUnknown UseKeychain
    

    在第一个使用该选项的主机之前,例如,将其放在文件的顶部。

        2
  •  76
  •   Dallas Caley    7 年前

    被接受的答案帮助了我,但并没有完全解决我的问题,因为我有多个不好的选择。下面是一个示例,说明如果您有此问题,它可能会是什么样子:

    Host *
      IgnoreUnknown AddKeysToAgent,UseKeychain
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa
    
        3
  •  1
  •   Ricardo Mendes    6 年前

    而不是ssh添加类型open。ssh/id\u rsa并将其添加到密钥链

    UseKeychain选项在我的配置中从来没有那么糟糕,但在一开始,在任何其他主机之前,我有以下内容

    Host *
    UseKeychain yes 
    
    Host (...)
    
        4
  •  -1
  •   Bryan    6 年前

    我刚刚注释掉了这句话,scp/ssh又开始为我工作了。

        5
  •  -1
  •   Tomachi    6 年前

    这是大写字母-K试试小写字母-K!!

    ssh-add -k ~/.ssh/id_rsa
    
    Enter passphrase for /Users/tom/.ssh/id_rsa:
    Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)
    
        6
  •  -1
  •   Michael Lihs Paul Kenjora    5 年前

    我也有同样的问题,我意识到当开始按照说明生成密钥时。第一步是这样。

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    我没有更改电子邮件地址,但我当然忘记了这样做:D。所以请确保不要忘记这一步,一切都会好起来的。