如何改善SSH连接过慢(效率)
++++++++++++++++++++++++++++++++++++++
标题:提高Linux服务器ssh的连接效率
时间:2020年1月16日
++++++++++++++++++++++++++++++++++++++
做过Linux系统运维的可能都遇到过连接ssh时特别慢,需要很长时间才能连接上。
我们可以通过"ssh -v 192.168.100.20"输出整个ssh连接的过程,从而确定导致ssh连接效率较低的原因。
下面举例的仅是较为常见的一种情况:
一般情况下,刚安装完操作系统的服务器,sshd服务的配置文件中开启了"DNS解析"和"用户认证"两个记录。
而这两条参数会需要大量的时间,通常情况下ssh连接较慢基本是由于这个原因。
我们需要对sshd服务配置文件做如下修改:
# vim /etc/ssh/sshd_config
# UseDNS yes--》UseDNS no
GSSAPIAuthentication yes--》GSSAPIAuthentication no
最后附给大家一个批量主机配置的shell脚本,大家可以尝试使用:
#!/bin/bash
#config ssh
#v1.0 by bah 2018-09-14
while read line
do
ip=`echo $line |awk '{print $1}'`
user=`echo $line |awk '{print $2}'`
password=`echo $line |awk '{print $3}'`
/usr/bin/expect <<-EOF
spawn ssh $user@$ip
expect {
"yes/no" { send "yes\r";exp_continue }
"password" { send "$password\r" }
}
expect "#"
send "sed -ri '/^#UseDNS/cUseDNS no' /etc/ssh/sshd_config\r"
send "sed -ri '/^GSSAPIAuthentication/cGSSAPIAuthentication no' /etc/ssh/sshd_config\r"
send "exit\r"
expect eof
EOF
done < inform.txt
配置文件如下:
192.168.100.10 root password
192.168.100.20 root password
192.168.100.30 root password