问题描述:
使用 SSH命令行 或者 xshell工具 连接内网服务器,卡在如下图状态很久才能连接上。
故障原因:
- 1、ssh登录过程中用到了DNS解析服务和GSSAPI认证(GSSAPI是一种用于在网络应用中执行强加密认证的ITEF 标准,在支持SSH V2的服务器上都是默认开启的)
- 2、默认情况下,GSSAPIAuthentication在服务器端和客户端都激活的。如果DNS服务出现问题,那么登录过程要等到DNS查询超时后才能继续,这就是为什么SSH登录提示符要等很久才出现的原因。
解决方法:
-
登录所要连接的服务器后,打开并修改 /etc/ssh/sshd_config 文件:vim /etc/ssh/sshd_config
- 关闭GSSAPI认证服务,修改 GSSAPIAuthentication yes 为 GSSAPIAuthentication no;
- ,禁用DNS反向解析,修改 UseDNS yes 为 UseDNS no(其中如果没有 UseDNS yes 这一行代码则在 UsePAM yes 代码后添加一行,如下图所示);
- 重启sshd服务:service sshd restart
- 查看服务状态:systemctl status sshd.service
此时再打开xshell,试着连接Linux,速度明显加快许多(几乎秒连)。