解决了一个ssh登录缓慢的问题
今天同事说有一台linux服务开发机登录特别慢,但登录上去克隆连接时就很快,让我帮忙看看。
我用ssh -vvv 服务器ip命令查了一下,发现卡在“SSH2_MSG_SERVICE_ACCEPT received”很久没返回
网上找了一下,说是dns问题
于是想起之前处理过一个oracle数据库登录缓慢问题 https://www.cnblogs.com/kingstarer/p/13772958.html
当时是发现 /etc/resolv.conf 下面配置的dns服务器有问题,导致数据库登录需要好几秒
登录上去这台服务器后,我立马检查了一下 /etc/resolv.conf ,发现里面的dns服务器果然配置错了,我把它改成114.114.114.114
再断开,重新登录,这次登录就很快了
顺便再记录两个别人解决相同问题的文章
https://blog.csdn.net/weixin_42715413/article/details/84643885 解决ssh连接慢,挂起在SSH2_MSG_SERVICE_ACCEPT信息之后很久的问题
通过添加 -v 参数(ssh -v root@172.17.1.61 很重要的思路)
发现到SSH2_MSG_SERVICE_ACCEPT一行时会停留很久
1、由于GSSAPI认证导致的,修改/etc/ssh/sshd_config,将对应行修改成:
GSSAPIAuthentication no
服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住了。
2、由于DNS解析导致的,还是修改/etc/ssh/sshd_config(我的问题出在这):
UseDNS no
我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗(说到底还是反向查询的问题)。
3、修改/etc/nsswitch.conf,将“hosts:”一行改成:
hosts: files dns
4、修改目标主机的/etc/hosts文件,将本地主机的IP和Hostname添加进去
https://blog.51cto.com/2937761/2432026?source=dra centos 用ssh登录连接缓慢处理
一、用ssh登录服务器,发现登录缓慢,登录一次可能需要30秒左右,于是用ssh -vvv ip地址 查看详细登录信息 具体看那个阶段慢
二、有这几个原因
1、连接慢的主要原因是DNS解析导致
1)、在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容:
UseDNS no
#GSSAPI options
GSSAPIAuthentication no
2)、然后,执行/etc/init.d/sshd restart重启sshd进程使上述配置生效,在连接一般就不慢
2、systemd-logind服务问题
systemctl stop systemd-logind