有时候远程ssh登陆CentOS时登陆时间太长,网上查找发现主要有2个问题会导致这个问题:
1、DNS反向解析的问题
OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。,如果DNS不可用或者没有相关记录,就会耗费大量时间。
修改/etc/ssh/sshd_config中UseDNS项,默认注释掉了,但ssh缺省情况下UseDNS的值是yes,我们需要改成no
[root@zabbix~]#cat/etc/ssh/sshd_config|grep-idns #UseDNSyes [root@zabbix~]#cp/etc/ssh/sshd_config{,`date+Y%m%d`bak} [root@zabbix~]#sed-i's/#UseDNSyes/UseDNSno/'/etc/ssh/sshd_config [root@zabbix~]#cat/etc/ssh/sshd_config|grep-idns UseDNSno [root@zabbix~]#/etc/init.d/sshdrestart Stoppingsshd:[OK] Startingsshd:[OK] [root@zabbix~]#
注意:修改前先备份,修改完成重启后不要关闭会话,重新打开一个会话验证能否正常远程,防止误修改无法远程
2、关闭ssh的gssapi认证
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5 的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题,默认情况下,GSSAPIAuthentication在服务器端和客户端都激活的。如果DNS服务出现问题,那么登录过程要等到DNS查询超时后才能继续,这就是为什么SSH登录提示符要等很久才出现的原因。 为什么ssh登录过程中要用到DNS解析服务呢?这个是GSSAPI认证方式需要的缘故。
可以通过修改服务端/etc/ssh/sshd_config中GSSAPIAuthenticatio项,或者客户端登陆时候指定GSSAPIAuthenticatio=no
服务端修改:
[root@zabbix~]#grep"GSSAPIAuthenticatio"/etc/ssh/sshd_config #GSSAPIAuthenticationno GSSAPIAuthenticationyes [root@zabbix~]#grep"GSSAPIAuthenticatio"/etc/ssh/sshd_config #GSSAPIAuthenticationno GSSAPIAuthenticationyes
客户端指定:
ssh-oGSSAPIAuthentication=noroot@192.168.100.182原文链接:https://www.f2er.com/centos/377150.html