配置错误:无法ssh


12

如许多其他文章所述,在升级到MacOS Sierra后,我修改了ssh配置文件,如下所示:

Host me
HostName login.hpc.ugent.be
User vscxxxxx
Port 22

Host *
  AddKeysToAgent yes
  UseKeychain yes

仍然出现以下错误:

$ssh -Y vscxxxxx@login.hpc.ugent.be
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

我想念什么?


ssh -V和的输出是type ssh什么?还是知道您是否安装了非系统默认ssh?
加里·基纳嫩(JariKeinänen)

OpenSSH_7.3p1,OpenSSL 1.0.2k,2017
Manfredo

Answers:


10

只需UseKeychain yes从您的配置中删除该行即可。此更新通过删除此选项破坏了现有设置。


假设我们正在谈论系统提供的ssh,这可能是错误的。什么更新中断了它?还是说某些非Apple ssh更新?我使用的是最新的macOS,有UseKeychain yesusekeychain yes没有错误。
加里·凯纳嫩(JariKeinänen)

确实有效。我真的不知道是什么原因导致它停止工作,唯一的是我今天更新了macport软件包。
曼弗雷多

4

Apple 在macOS 10.12.2中有关OpenSSH更新的文档指出:

如果要与运行OpenSSH较旧版本且不理解UseKeychain选项的系统共享ssh配置,则可以指定IgnoreUnknown选项以使您的配置与新旧版本兼容。

所以诀窍在于,在您的ssh配置文件中,IgnoreUnknown UseKeychain如下所示添加:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

如果/usr/bin/ssh为命令指定,它将起作用。10.12中的默认路径放在/usr/local/bin顶部,因此该版本的任何其他版本ssh均不适用于该选项,因为它特定于mac系统。


要添加此内容,只需简单地nano ~/.bash_profile确定/usr/bin是否/usr/local/bin在您的$PATH声明中根本没有它们,只需按此顺序将它们一起添加即可。喜欢的东西,export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATH那么source ~/.bash_profile这个解决对我来说
ABC123
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.