今天出现了一个非常奇怪的现象,有1批主机:
1、在其他主机上使用ssh root@$ip登陆均无法登陆,只在唯一一台当时配置了免密登陆的主机可以直接使用root ssh登陆;
2、在任何一台主机上使用普通账号ssh root@$ip 登陆也无法登陆;
3、sshd_config内并没有禁止root ssh登陆;
4、hosts.allow、hosts.deny内未配置任何有效内容
最后,想到之前升级过这些主机的openSSH,可能是新版本的openSSH有所改变,然后发现在其他主机ssh登陆这台主机时,会出现:
/etc/ssh/ssh_config line 50: Unsupported option"gssapiauthentication"
于是,便猜想ssh升级后,为了安全,默认不再采用原来一些加密算法。
最后,解决办法为,注释sshd_config的以下参数:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
#UsePAM yes
允许root ssh登陆
PermitRootLogin yes
重启sshd服务即可恢复。
service sshd restart
如果出现
/etc/ssh/ssh_config line 50: Unsupported option "gssapiauthenciation"
的报错。
需要在ssh客户端注释掉:
GSSAPIAuthentication yes 这一行