本文由LinuxProbe.Com团队成员魏丽猿整理发布,原文来自:Linux运维笔记

使用ssh客户端(如:putty)连接Linux服务器,可能会等待10-30秒才有提示输入密码,严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因:

1. DNS反向解析问题

OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间。

解决办法:

在目标服务器上修改sshd服务器端配置,并重启sshd

vi /etc/ssh/sshd_config
UseDNS no
2. 关闭ssh的gssapi认证

用ssh -v user@server 可以看到登录时有如下信息:

debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information

注:ssh -vvv user@server 可以看到更细的debug信息

解决办法:

修改sshd服务器端配置

vi /etc/ssh/ssh_config
GSSAPIAuthentication no

可以使用ssh -o GSSAPIAuthentication=no user@server登录
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口,该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度,但该接口在目标机器无域名解析时会有问题,使用strace查看后发现,ssh在验证完key之后,进行authentication gssapi-with-mic,此时先去连接DNS服务器,在这之后会进行其他操作。

相关学习链接:https://www.linuxprobe.com/chapter-08/#83

原文来自:https://blog.linuxeye.com/420.html

本文地址:https://www.linuxprobe.com/ssh-login-slowly.html编辑:魏丽猿,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/ssh-login-slowly.html编辑:逄增宝,审核员:暂无