RHEL7连接ssh慢
问题描述
ssh连接速度很慢,等待几秒钟才能连上。
解决办法1:sshd服务端配置优化
# 备份sshd_config配置文件
cp /etc/ssh/sshd_config{,.bak}
# 编辑sshd_config配置文件
vim /etc/ssh/sshd_config
关闭sshd上的GSS认证
先ssh连接的目标服务器,将GSSAPIAuthentication改为no ,如果在配置文件中,以下值是被注释的就拿掉注释,因为默认开关就是yes
# 关闭GSS认证
GSSAPIAuthentication no
关闭sshd上的DNS反向解析
在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes
# 关闭SERVER上DNS反向解析
UseDNS=no
打开sshd上的IgnoreRhosts参数
IgnoreRhosts参数可以忽略以前登录过主机的记录,设置为yes后可以极大的提高连接速度
# 忽略以前登录过主机的记录
IgnoreRhosts yes
重启sshd服务
# 重启sshd服务
systemctl restart sshd
解决办法2:ssh客户端配置优化
ssh客户端优化:https://blog.youkuaiyun.com/omaidb/article/details/129405503
编辑当前用户的ssh客户端配置文件
# 只编辑当前用户的配置文件
vim $HOME/.ssh/config
优化内容如下
# 常用的参数
# ssh协议版本 2,1
Protocol 2
## 忽略第一次密钥检查
StrictHostKeyChecking no
# 定义known_hosts文件为空--不检查指纹
UserKnownHostsFile /dev/null
## GSSAPI认证能优化ssh连接速度
GSSAPIAuthentication no
## 不检查主机名
HashKnownHosts no
## 不检查IP
CheckHostIP no
## 启用压缩
Compression no
## 指定变量
#SendEnv LANG=zh_CN.UTF-8
# 配置1天(60秒*1440次)内ssh客户端不超时
## 服务器存活最大数值超过次1440次服务器无响应客户端会断掉
ServerAliveCountMax 1440
## 服务器存活时间间隔,60秒发送一次KeepAlive
ServerAliveInterval 60
## 发送TCP保活报文
TCPKeepAlive yes
# 重用相同的连接
ControlMaster auto
## 72小时内保持连接(72小时内只需要第一次输入密码)
ControlPersist 72h
针对所有用户的ssh客户端生效
# 编辑所有用户的配置文件
vim /etc/ssh/ssh_config