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