测试环境CentOS 7.3
问题描述使用SSH进行远程登录,输入账号后,过了大概20秒才出现密码提示符,输入密码后,登录成功。
问题原因1) 这里首先修改GSSAPIAuthentication为no,指明禁用GSSAPI认证方式。 GSSAPI,全称为:Generic Security Services Application Program Interface。它是由IETF制定的一个安全服务标准。需要注意的是,GSSAPI只是定义了一个标准,由各个厂商来实现。标准的具体内容可以参考IETF文档。
2) UseDNS选项用来控制在登录阶段是否执行客户端主机名查询(服务器根据客户端IP执行DNS PTR反向查询,得到其主机名。然后对比此主机名和DNS正向A记录查询的结果是否一致)。在广域网环境下,如果开启了此选项且对比结果不一致的话,服务器会记录此失败事件,这多多少少增强了一些安全性。但是在内网环境下,这个过程通常是没有什么作用的。所以,这里登录慢的问题,一般是因为DNS查询阶段超时导致的。
解决方法1) 以管理员身份登录系统。
2) 打开/etc/ssh/sshd_config。
# vi /etc/ssh/sshd_config
3) 设置参数GSSAPIAuthentication为no。
4) 设置参数UseDNS为no。这里的UseDNS默认情况下是注释起来的,需要去掉注释,并将yes改为no。
5) 保存文件。
6) 重启SSH服务以使更改生效。
# systemctl restart sshd
7) 问题解决。
总结在修改SSHD配置文件的时候,一定要仔细观察修改文件是否正确,因为,在/etc/ssh下,还有一个类似的文件ssh_conig,非常容易和sshd_config搞混淆。我就是因为没看清楚文件名,修改了很多次,都没起作用,后来才发现,文件改错了。