更新Mac OS Sierra后,无法使用ssh登录远程系统,我该如何解决这个问题?

时间:2016-09-22 08:39:29

标签: macos ssh

当我使用user@ip登录远程系统时,它会报告如下:

debug1: /etc/ssh/ssh_config line 17: Applying options for *
/etc/ssh/ssh_config: line 20: Bad configuration option: gssapikeyexchange
/etc/ssh/ssh_config: line 21: Bad configuration option: gssapitrustdns
/etc/ssh/ssh_config: terminating, 2 bad configuration options

8 个答案:

答案 0 :(得分:14)

评论/etc/ssh/ssh_config中的以下行 从

# System-wide defaults set by MIT Kerberos Extras
Host *
  GSSAPIAuthentication yes
  GSSAPIDelegateCredentials yes
  GSSAPIKeyExchange yes

# System-wide defaults set by MIT Kerberos Extras
#Host *
#  GSSAPIAuthentication yes
#  GSSAPIDelegateCredentials yes
#  GSSAPIKeyExchange yes

答案 1 :(得分:7)

修复它的一种方法:在启用它的情况下构建自己的版本,如果你想要一个可以使用gssapitrustdns的选项,请参阅here

解决这个问题的另一种方法是从较旧的Mac复制ssh二进制文件并将此二进制文件放在/ usr / bin / ssh之前的路径中,例如:(从capitan box复制)/ usr / bin / ssh => 〜/ bin / ssh,然后在你的PATH之前添加$ HOME / bin。

原因是GSSAPITrustDNS和GSSAPIKeyExchange从openSSH 6.7p1.Sierra中删除OpenSSH升级到7.2p2,所以你需要降级,如果你必须使用kerberos + ssh。

答案 2 :(得分:5)

您可能只需要在ssh config中禁用GSSAPITrustDns。

  

vi~ / .ssh / config

     

:%s​​ / GSSAPITrustDns /#GSSAPITrustDns / g

     

:WQ

同样,也可以评论其他选项,例如gssapikeyexchange等。

答案 3 :(得分:4)

一行答案 - 运行此命令以删除GSSAPITrustDns行:

sed -i".backup"  '/GSSAPITrustDns/d' ~/.ssh/config

创建副本&更新:〜/ .ssh / config

答案 4 :(得分:3)

如果您仍然需要Kerberos票证功能(即没有身份密钥且无需输入密码的ssh),或者是" hpn openssh补丁" (据称可以加速大文件传输)或者#34; keychain patch",这里是安装支持它们的ssh的方法(这也恰好克服了OP的问题):

原来,自制的"习惯了"支持名为--with-gssapi-support的openssh安装选项,该选项将为您提供支持kerberos票证的ssh / scp。

这可能是因为他们的update到版本6.6p1的openssh [?]无意中删除了。有些门票是proposed到"重新添加"从那以后,维护人员经历了一些与#34; keychain"相关的惨败。补丁并且他们决定尝试保持他们的openssh公式比以前更加香草,所以拒绝了这些提议。

他们建议创建一个" tap"如果你想要补丁回来。我继续前进created one。使用它:

brew install rdp/homebrew-openssh-gssapi/openssh-gssapi-hpn --with-gssapi-support

然后重新启动你的终端会话,你应该开始营业,它会创建一个新的/ usr / local / bin / ssh命令,这个命令是Kerberos流利的,并且,通过典型安装自制程序,应该是第一个在您的PATH中,现在默认使用。还有一些其他选项(hpnkeychain-support

另一种选择是使用ssh身份密钥文件(身份验证/授权密钥)而不是Kerberos,然后您仍然可以使用默认提供的ssh。

另一种选择是使用macports openssh软件包,它支持...有时支持Kerberos的openssh稍微旧版本。

答案 5 :(得分:2)

修复SSH 10.12:

sudo nano /etc/ssh/ssh_config

注释#:

  • GSSAPIKeyExchange no
  • GSSAPITrustDNS否
  • 键入Control + o
  • 键入Control + x

答案 6 :(得分:0)

  1. 我的配置/etc/ssh/ssh_config没问题且从未更改过,我在〜/ .ssh / config中找到了我需要更改的行并解决了这个问题。

  2. 如果你得到:

  3.   

    '〜/ .ssh / id_rsa [您的文件]的权限0644太开放

    运行:chmod 600 ~/.ssh/id_rsa[your file]来解决它。

答案 7 :(得分:0)

您可以尝试删除〜/ .ssh / config文件。它对我有用!