Linux疑难杂症:为什么SSH连接服务器需要很长时间?附优化技巧

服务器
外网服务器用ssh去连其他linux机器,会等待30-60秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常。

 问题

外网服务器用ssh去连其他linux机器,会等待30-60秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常。

 

找了很久的原因,最后修改了下面两个参数后重连ssh正常。

1. DNS反向解析的问题

OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间。

[[249879]]

解决办法:

在目标服务器上修改sshd服务器端配置,并重启sshd

vi /etc/ssh/sshd_config,设置UseDNS为no即可

当然也可以通过提供DNS正确反向解析的方法解决,有如下两种思路

(1) 在server上/etc/hosts文件中把常用的ip和hostname加入,然后在/etc/nsswitch.conf看看程序是否先查询hosts文件(一般缺省是这样)。

修改server上的hosts文件,将目标机器的IP和域名加上去。或者让本机的DNS 服务器能解析目标地址。

  1. vi /etc/hosts 
  2. xx.xx.xx.xx nwpp 

其格式是“目标机器IP 目标机器名称”这种方法促效。没有延迟就连上了。不过如果给每台都加一个域名解析,挺辛苦的。但在windows下用putty或secure-crt时可以采用这种方法。

(2)起一台dns服务器(可以是本机),加入反向解析,把这个dns服务器加入到/etc/resolv.conf中。

2. 关闭ssh的gssapi认证

用ssh -v user@server 可以看到登录时有如下信息:

  1. debug1: Next authentication method: gssapi-with-mic 
  2. debug1: Unspecified GSS failure. Minor code may provide more information 

注:ssh -vvv user@server 可以看到更细的debug信息

解决办法:

在客户端上修改ssh客户端配置(注意不是sshd_conf)

vi /etc/ssh/ssh_config,设置GSSAPIAuthentication no 并重启sshd

可以使用

  1. ssh -A -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -p 32200 username@server_ip 

GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5 的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题

使用strace查看后发现,ssh在验证完key之后,进行authentication gssapi-with-mic,此时先去连接DNS服务器,在这之后会进行其他操作。

上面的问题不知道大家有没碰过,反正我是碰了好几次了,特别是去掉服务器之间ssh免密来执行脚本,每次都需要很久,用上面方法就可以解决这类问题了。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2022-07-17 12:58:43

Docke技巧

2012-11-26 10:23:08

医疗大数据R统计语言

2015-09-15 10:09:09

TCP网络协议

2022-04-06 13:55:22

DockerLinux

2018-10-31 14:40:19

TCP协议ISO

2009-02-05 10:12:00

2015-09-06 11:41:15

快码众包加速器

2009-04-29 14:46:15

ADSL宽带掉线

2022-01-20 22:05:19

ChromiumtransformCSS

2009-01-11 09:29:00

局域网共享拨号

2010-08-19 09:48:46

IE6

2017-11-07 11:01:51

服务器持续工作

2014-06-23 13:59:18

互联网电商运营

2010-08-26 09:03:05

IE6

2019-02-21 09:32:13

MQ中间件SQL

2022-07-28 14:29:38

机器学习技术

2016-08-19 12:59:06

医疗信息疑难杂症

2018-04-11 07:48:16

2022-05-06 15:48:24

播放器鸿蒙
点赞
收藏

51CTO技术栈公众号