二、问题描述💛
这段时间使用虚拟机装载了CentOS 7.9版本的Linux操作系统,配置好相关信息参数后,发现使用SSH命令远程连接访问服务器时,总是需要等待几十秒,不能直接按完回车后,立即跳出输入登录密码的命令提示符。所以上网搜索了一下问题。知道了问题所在。主要是由两个原因造成了。
- DNS反向解析的问题
- Gssap认证问题
三、解决措施💙
Ⅰ、解决SSH登录慢问题📌
1、查看系统版本号
[root@zabbix-server ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
2、修改 /etc/ssh/sshd_config 配置文件
# vim /etc/ssh/sshd_config 修改如下内容: GSSAPIAuthentication no # 关闭认证接口 UseDNS no # 关闭DNS解析功能 按:wq保存退出。
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5 的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题。系统是默认开启的,需要手动关闭即可。
3、重启SSH服务
# systemctl restart sshd # systemctl status sshd
Ⅱ、解决SSH连接超时断开问题📌
1、修改 /etc/ssh/sshd_config 配置文件
ClientAliveInterval 0表示服务器端向客户端请求消息的时间间隔,默认是0, 不发送。
ClientAliveInterval 60表示每分钟向客户端发送一次,然后客户端响应,这样保持长时间连接的状态,SSH远程连接不断开。
ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开。正常情况下,客户端不会不响应。默认即可。
修改内容如下:
# vim /etc/ssh/sshd_config 修改内容如下: ClientAliveInterval 60 ClientAliveCountMax 5 按:wq保存退出。
ClientAliveInterval n | 如果n秒之内没有接收到客户端的消息,就通过加密通道发送一条信息。参见ClientAliveCountMax。默认值为0,意味着不发送消息。 |
ClientAliveCountMax n | n指定sshd从客户端断开连接之前,在没有接收到响应时能够。发送client-alive消息的条数。参见ClientAliveInterval。默认值为3。 |
2、重启SSH服务
# systemctl start sshd # systemctl status sshd
Ⅲ、SSH连接测试📌
配置生效,已经能够快速连接。
C:\Users\xybdiy>ssh root@192.168.200.60 root@192.168.200.60's password: Last login: Fri Feb 18 13:16:08 2022 from 192.168.200.2 [root@zabbix-server ~]#