最近公司IT推送了win10,系统升级,SecureCRT通过SSH登录服务器突然变得很慢,差不多要30s的样子,那感觉,没法忍受啊~
为了定位问题,网上建议打开ssh
的调试信息。在排除网络异常的情况下,大多数连接慢跟GSSAPI
认证有关。
如果只希望了解解决方案,请转到第5节。
1. 打开ssh
调试信息
1.1 linux
系统命令行
在linux命令行下可以通过给ssh
添加-v
选项打开调试信息:
ygu@stbszx-bld-5:~$ ssh -v ygu@stbszx-bld-6
1.2 windows
系统SecureCRT
工具
SecureCRT
选中”File --> Trace Options
“打开调试信息,如下:
2. 检查SSH
连接慢
连接时发现两次进行SSAPI
连接时很慢,需要等待,见红色方框部分:
对比原来win7下正常的情形,红色方框部分几乎是不需要等待的。
3. 取消勾选GSSAPI
验证无用
网上大多数修改方式是在Options --> Session Options
中取消勾选GSSAPI
来禁用GSSAPI
选项,如下:
我测试发现竟然没用。
网上有一篇文章也提到取消勾选“GSSAPI
”没有用:<<记一次使用SecureCRT连接局域网巨慢的问题>>
4. 修改GSSAPI Properites
设置为GSSAPI
最后发现通过修改GSSAPI
选项可以解决这个问题。
默认情况下,GSSAPI
的Method
设置为“Auto-Detect
”,如下:
Method
选项有“Auto-Detect
”,“GSSAPI
”和“MS Kerberos
”:
将Method
从Auto-Detect
修改为GSSAPI
,测试连接正常:
以下是连接连接正常的log:
显然,正常连接时不再有SSPI
请求的延时了(见上图蓝色方框部分)。
我也尝试将Method
修改为MS Kerberos
,其现象跟Auto-Detect
一样,个人猜想SecureCRT
采用Auto-Detect
时默认先用MS Kerberos
进行验证导致需要等待。对于GSSAPI
的验证方式我并不清楚,求大神科普下~~
5. 总结
SecureCRT
将GSSAPI Method
从默认的Auto-Detect
修改为GSSAPI
得到解决,位置如下:
Options
--> Session Options
--> SSH2
--> Authentication
--> GSSAPI
--> Properties
--> Method