CentOS/Linux 解决 SSH 连接慢

现在连接linux服务器一般都是使用SSH远程连接的方式。最近新装了一台服务器,发现telnet时速度很快,ping时一切也正常,但SSH连接的时候却很慢。经过网上资料查询,大致是有以下几种原因:

1、SERVER的SSHD会去DNS查找访问的CLIENT IP的HOSTNAME,如果DNS不可用或者没有相关记录,就会消耗一段时间。

2、在authentication gssapi-with-mic有时候也会消耗一段时间

一、测试查找具体原因:

1、使用ssh -v host进行debug

# 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 [email protected] exit

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

注意:修改之后记得重启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需要通过域名访问其他服务器,则需要保留此行。

4、修改SERVER上resolv.conf文件

4.1、删除/etc/resolv.conf中所有不使用的IP。

4.2、把nameserver全部删除,问题也能解决,但是服务器就无法上网了。

4.3、如果SERVER曾经配置过双网卡,则在该文件中会有一行目前不使用的IP地址,删除该行即可。

5、修改SERVER上hosts文件

在SERVER上/etc/hosts文件中把客户端的IP和HOSTNAME加入

6、打开SERVER上的IgnoreRhosts参数

IgnoreRhosts参数可以忽略以前登录过主机的记录,设置为yes后可以极大的提高连接速度

# vi /etc/ssh/sshd_config

IgnoreRhosts yes

--------------------以上的均在SERVER上设置,以下的均在CLIENT上设置-----------------------

7、修改客户端的hosts文件

将目标SERVER的IP和域名加上去,使得本机的DNS服务能解析目标地址。

# vi /etc/hosts

192.168.100.11  doiido.com

注:hosts文件格式为‘目标SERVER_IP 目标SERVER_NAME‘。但是使用这个方法有一个弊端,如果需要给每台SERVER都添加一个域名解析。

8、修改客户端配置文件ssh_conf(注意,不是sshd_conf)

# vi /etc/ssh/ssh_conf

找到

GSSAPIAuthentication yes

改为

GSSAPIAuthentication no

时间: 2024-10-29 04:40:36

CentOS/Linux 解决 SSH 连接慢的相关文章

转载: CentOS/Linux 解决 SSH 连接慢

http://blog.csdn.net/doiido/article/details/43793391 CentOS/Linux 解决 SSH 连接慢 标签: linuxssh远程连接ssh慢 2015-02-13 13:24 1230人阅读 评论(0) 收藏 举报 分类: Linux 应用(16) 版权声明:本文为博主原创文章,未经博主允许不得转载. 现在连接Linux服务器一般都是使用SSH远程连接的方式.最近新装了一台服务器,发现telnet时速度很快,ping时一切也正常,但SSH连接

(转)CentOS/Linux 解决 SSH 连接慢

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

CentOS 6.3 SSH连接时很慢的解决方法

SSH的配置文件,默认开启了DNS反向解析,这使得处于同一个局域网下的终端,在SSH到服务器的时候异常缓慢,如果从是外网SSH到服务器的话,速度则是正常的.我们只需要关闭DNS反向解析即可. 修改/etc/ssh/sshd_config文件 将 #UseDNS YES 修改为 UseDNS no 重启SSHD服务后问题解决. CentOS 6.3 SSH连接时很慢的解决方法

linux技巧:解决ssh连接等待延迟的问题

解决ssh连接等待几秒的问题 平时我们连接ssh的时候,经常要等5秒或者更长的时候,才能连上,因为是虚拟机,主机通过vmnet8和虚拟机是同一网段,不存在延迟的问题,那一定是虚拟机sshd配置的问题.困恼了好久,突然任同学提到sshd_config的一个参数配置useDNS能解决这个问题,上网查了查信息,果然有影响,解释是这样的: ssh尽管用ip连接,但是ssh连接的时候,服务器端会去查IP的PTR记录,由于查不到PTR记录,最后返回错误,才回来响应客户端的连接,此过程中,客户端一直处于等待状

Putty解决SSH连接超时断开的问题

1 在 linux下的ssh命令:vim /etc/ssh/ssh_config 然后找到里面的ServerAliveInterval 参数,如果没有你同样自己加一个就好了.参数意义相同,都是秒数,比如9分钟: ServerAliveInterval 540 putty中解决SSH连接超时断开的两种方法 2 Putty 启用putty keepalive putty -> Connection -> Seconds between keepalives ( 0 to turn off ),默认

linux下ssh连接缓慢详解

摘自:https://blog.csdn.net/asd2479745295/article/details/83006379 linux下ssh连接缓慢详解原创皮的开心 最后发布于2018-10-11 09:13:37 阅读数 1824 收藏展开    最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快.使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了

linux关闭ssh连接

 linux 关闭SSH 连接用户 1.查明登陆端口: # who root pts/1 Apr 8 00:06 (172.29.0.29) root pts/2 Apr 8 04:15 (172.29.0.21) 2.通知该用户将要关闭他: # echo "I will close your connection" > /dev/pts/2 这样他的终端将显示该信息. 3.关闭用户连接 # fuser -k /dev/pts/2

linux中解决SSH连接慢问题

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

解决SSH连接linux时长时间不操作自动断开

最近重装Linux系统,但是这次ssh连接云服务区Linux系统时,经常出现一段时间不操作,连接自动中断,表现为光标还在闪动,但是却无法操作.只好关闭终端,重新连接,很是麻烦. 为此,通过网络查找,找到一个解决方法,记录一下,以便以后查看. 修改/etc/ssh/sshd_config文件 sudo vim /etc/ssh/sshd_config 查找是否有ClientAliveInterval 0和ClientAliveCountMax 3,如何没有,则在文件后添加 ClientAliveI