由于很多人反映公司测试环境服务器ssh连接非常慢,排查了ping没有丢包,那就是系统配置的问题。在网上搜了些东西结果还是很实用。
一、排查原因
测试前:
ssh -v 192.168.1.138
然后会出现很多bug
例如:
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
查看一下连接时间:
time ssh [email protected] exit
real0m4.785s
user0m0.014s
sys0m0.011s
二、配置优化
1、关闭DNS反向解析
在linux中sshd 的服务里是默认开启DNS解析的。会消耗时间,所以需要关闭。
vim /etc/ssh/sshd_config
UseDNS no
虽然是被注释掉的,但是默认是yes开启的。
time ssh [email protected] exit
real0m3.978s
user0m0.016s
sys0m0.010s
看实际的连接时间明显减少了很多。说明起了作用!
2、关闭SERVER的认证
在authority过程中,gssapi-with-mic有可能出现很大问题,因此关闭gssapi可以提高很大的速度。
vim /etc/ssh/sshd_config
GSSAPIAuthentication no
保存推出
time ssh [email protected] exit
real 0m3.832s
user 0m0.011s
sys 0m0.004s
时间明显减少了很多。基本上就可以正常使用了。