首页 > 代码库 > 局域网内SSH登陆等待时间长,反应慢的处理方法

局域网内SSH登陆等待时间长,反应慢的处理方法

l 故障现象:

在使用SSH工具远程登录服务器时,出现登陆提示符很久才出现的情况。

l 问题查找:

可以在ssh命令后面加上“-v“ 参数,输出debug信息定位问题。

通常你会看到类似这样的信息:

debug1: Next authentication method: gssapi-with-mic

debug1: Unspecified GSS failure. Minor code may provide more information

Cannot determine realm for numeric host address

l 故障原因:

看过上面的输出结果,很明显这是由于DNS解析问题导致的。

1. 为什么ssh登录过程中要用到DNS解析服务呢?

再仔细看看上面debug的输出,是GSSAPI认证方式惹得祸。

2. 为什么SSH登录过程中要用到GSSAPI认证呢?

GSSAPI是一种用于在网络应用中执行强加密认证的ITEF 标准,在支持SSH V2的服务器上都是默认开启的。

3. 造成慢的原因到底是什么呢?

默认情况下,GSSAPIAuthentication在服务器端和客户端都激活的。如果DNS服务出现问题,那么登录过程要等到DNS查询超时后才能继续,这就是为什么SSH登录提示符要等很久才出现的原因。

l 解决方法:

1. 如果远程SSH服务器无法改动,则修改ssh客户端配置文件

# vi /etc/ssh/ssh_config(以Linux客户端为例)

设置:GSSAPIAuthentication no

2. 修改远程SSH服务器的配置

# vi /etc/ssh/sshd_config

设置:GSSAPIAuthentication no

同时也可以设置不使用DNS解析:UseDNS no

然后重启sshd服务 /etc/init.d/sshd restart

局域网内SSH登陆等待时间长,反应慢的处理方法