SSH连接速度慢(GSSAPI)
在进行测试时发现部分主机(修改过主机名)使用mobaxterm软件进行ssh连接时需要等待5-10秒左右的时间,起初以为是mobaxterm软件原因,后来尝试连接阿里云服务器发现并没有出现在测试时连接本地虚拟机时出现需要等待5-10秒左右的情况。在百度尝试搜索是否有人遇到相同情况时,发现有人在SSH优化中提到UseDNS与GSSAPI会影响SSH连接速度。
UseDNS,UseDNS选项在默认开启的状态下会在客户端尝试进行SSH登录时,针对客户端IP地址进行反向查询客户端IP地址所对应的主机名,然后根据查询出的主机名进行正向查询,验证是否与客户端连接的原始IP地址一致;这是SSH服务在防止客户端地址欺诈的一种措施,但是在测试时一般客户端IP地址在服务器的本地解析上或者DNS服务器上都不会有A记录或者PTR记录,在大部分情况下UseDNS选项开启只会空耗时间。
GSSAPI,GSS-API是一套通用的安全机制,该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。使用 GSS-API 编写的程序在网络安全方面具有更高的可移植性。但是在SSH服务的配置中启用了GSSAPIAuthentication选项后,在客户端尝试登录服务器时,服务器会针对服务器端的IP地址进行反向解析,如果无法解析或者解析的结果不匹配则会出现卡住几秒钟的情况。
解决方法:
-
可在ssh配置文件中将GSSAPIAuthentication选项修改为no
-
可在ssh配置文件中将UseDNS选项修改为no
如配置环境不允许关闭以上选项,可以采用以下解决发放
-
将服务器修改后的主机名以及对应的IP地址添加到/etc/hosts文件中
-
将/etc/nsswitch.conf文件中的hosts一行修改为hosts: files dns [NOTFOUND=return]
参考链接:https://blog.csdn.net/daxia_dayu/article/details/101319435