CentOS ssh登陆慢、等待时间长、


有时候远程ssh登陆CentOS时登陆时间太长,网上查找发现主要有2个问题会导致这个问题:


1、DNS反向解析的问题

LINUX系统的一个文件/etc/nsswitch.conf ,在这里面有如下一行 

hosts: files dns

这行的含义是OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果DNS不可用或者没有相关记录,就会耗费大量时间。对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析

      修改/etc/ssh/sshd_config中UseDNS项,默认注释掉了,但ssh缺省情况下UseDNS的值是yes,我们需要改成no

[root@zabbix ~]#cat /etc/ssh/sshd_config | grep -i dns
#UseDNS yes
[root@zabbix ~]#cp /etc/ssh/sshd_config{,`date +Y%m%d`bak}
[root@zabbix ~]#sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
[root@zabbix ~]#cat /etc/ssh/sshd_config | grep -i dns
UseDNS no
[root@zabbix ~]#/etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  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
#GSSAPIAuthentication yes
GSSAPIAuthentication no
[root@zabbix ~]#


客户端指定:

ssh -o GSSAPIAuthentication=no root@192.168.100.182


清除原有ssh密钥方法

重装系统后无法scp

ssh-keygen -R 10.10.15.89


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值