发现有一个SSH连接的问题,每次连接远程服务器的时候,都会出现验证速度慢,要经过很长时间的没响应过程。
研究了一下,找到这么几种解决办法:
修改客户端配置文件ssh_conf(注意,不是sshd_conf)
vi /etc/ssh/ssh_conf
# 找到 # GSSAPIAuthentication yes # 改为 GSSAPIAuthentication no
实际上,这个GSSAPI认证,是在用户登录的时候,客户端要对服务器端的IP地址进行反向解析,如果服务器的IP地址没有配置PTR记录,那么解析不通过,就会被卡住~等待很长一段时间之后才能连接。
- 关闭DNS反向解析
在linux中,默认就是开启了SSH的反向DNS解析,这个也会消耗大量时间。
vim /etc/ssh/sshd_config
UseDNS=no
- 修改
nsswitch.conf
文件
如果SERVER需要通过域名访问其他服务器,则需要保留此行。
hosts: files dns 这一行含义是对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析,如果dns也无法访问,就会等待访问超时后返回,因此等待时间比较长。
vim /etc/nsswitch.conf
# 找到
# hosts: files dns XXX
# 改成
hosts:files
- 将
GSSAPIAuthentication yes
设置为no
vim /etc/ssh/sshd_config
GSSAPIAuthentication no
最后记得重启下ssh服务
systemctl restart sshd
评论 (0)