betway必威体育平台解决配置双网卡后SSH远程连接慢的工作记录

公司的Hadoop集群服务器加完双网卡后,ssh连接就挺慢的并且服务器不能连接外网,经过排查发现:由于双网卡配置的是2个网段,在连接上网的时候,会自动选择从eth1网卡发送http请求,这样的话由于eth1配置的是10网段的地址,用于集群内部通讯使用,所以当然不能上网,进一步查看网卡的配置发现,eth1和eth0网卡都配置的有网关,并且服务器在发送数据的时候还是选择了eth1网卡的10网段的网关,把10网段的网关注释掉之后,服务器就默认使用了eth0网关上网。

betway必威体育平台,【转载】来源:http://www.bkjia.com/xtzh/893669.html

由于集群使用了DNS的方式进行交换数据和通讯,所以在ssh主机名的时候会先进行dns解析,但是还试访问速度挺慢的,并且使用ip地址ssh也是这样的问题,根据之前的经验在被访问的机器上把/etc/ssh/sshd_config配置文件里面的useDNS
设置为 no ,重新启动ssh服务,在访问端继续试着用ssh
IP的方式进行检测,结果还是出现同样的问题,提示:

【转载原因】:其他文章都是修改服务器端配置,但为了保证服务器端安全问题,一般情况下最好不要修改服务器端配置。因此采取修改客户机端配置。而只找到该篇文章有讲解修改客户机端配置方式。诚挚致谢!

Address 192.168.20.24 maps to localhost, but this does not map back to
the address – POSSIBLE BREAK-IN ATTEMPT!

 

这个时候想到了是不是服务器主板网卡接口顺序设计不合理,但是一想,服务器好像用的是inter的主板,不至于出现这个低级的主板结构性问题,接着继续在网上寻找答案:在网上说把/etc/ssh/ssh_config里面的GSSAPIAuthentication
设置为no,试了一下,问题解决。

现在连接linux服务器一般都是使用SSH远程连接的方式。最近新装了一台服务器,发现telnet时速度很快,ping时一切也正常,但SSH连接的时候却很慢。经过网上资料查询,大致是有以下几种原因:
1、SERVER的SSHD会去DNS查找访问的CLIENT
IP的HOSTNAME,如果DNS不可用或者没有相关记录,就会消耗一段时间。
2、在authentication gssapi-with-mic有时候也会消耗一段时间

在网上搜了一下关于GSSAPIAuthentication的解释,解释为:是否在用户退出登录后自动销毁用户凭证缓存。默认值是”yes”。
这样的话就是说在默认登录的时候每次都要发送密钥通过相关加密协议进行验证,如果选择使用密钥缓存的话,可以解决访问速度慢的问题,相当于是用凭证缓存提高了密码验证的速度。

一、测试查找具体原因:

在实际的应用过程中,发现用root用户登陆确实提高了访问速度,但是使用普通用户访问的时候还是很慢,于是在想是不是因为权限问题阻止了普通用户的访问,结果无果,在网上查后说是修改vim
/etc/nsswitch.conf 文件,将hosts:      files dns
中的dns去掉可以禁止dns解析,但是这样的话,dns服务器就不能使用了,考虑到使用hosts文件做主机名解析对以后生产环境中添加节点会产生大的工作量,这个不科学,决定不使用这种方案。

1、使用ssh -v host进行debug

这个问题一直困扰着自己,重新清理了一些思路,发现用IP进行ssh访问慢,可能是因为ssh的时候它默认进行了反向解析,但是我们的dns服务器并没有设置反向解析,会不会因为是这个原因呢?

# ssh -v 192.168.100.10
然后就会输出一大堆debug,通过debug信息就可以看到连接到什么地方被耽搁了
比如会显示如下信息:
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more
information
No credentials cache found

于是在服务器上配置了反向域名解析,访问速度变快,问题解决。

2、检测连接时间
# time ssh root@192.168.100.10 exit

betway必威体育平台 1

 

 

二、解决方法(建议一个个设置,因为每个人连接慢的原因都不一样):

注意:修改之后记得重启sshd服务
# service sshd restart

1、关闭DNS反向解析
在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。
# vi /etc/ssh/sshd_config
UseDNS=no

在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes

2、关闭SERVER上的GSS认证
在authentication
gssapi-with-mic有很大的可能出现问题,因此关闭GSS认证可以提高ssh连接速度。

# vi /etc/ssh/sshd_config
GSSAPIAuthentication no

3、修改server上nsswitch.conf文件
# vi /etc/nsswitch.conf
找到
hosts: files dns
改为
hosts:files

hosts: files
dns这一行含义是对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析,如果dns也无法访问,就会等待访问超时后返回,因此等待时间比较长。
注意:如果SERVER需要通过域名访问其他服务器,则需要保留此行。

相关文章