现在连接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信息就可以看到连接到什么地方被耽搁了
比如会显示如下信息:

[html] view plaincopy
  1. debug1: Next authentication method: gssapi-with-mic
  2. debug1: Unspecified GSS failure. Minor code may provide more information
  3. No credentials cache found

2、检测连接时间
# time ssh root@192.168.100.10 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

转载于:https://www.cnblogs.com/ThinkVenus/p/7493786.html

CentOS/Linux 解决 SSH 连接慢相关推荐

  1. Linux 解决ssh连接慢的问题

    备份文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 编辑文件 vi /etc/ssh/sshd_config 输入/ 查找GSSAPIAuthe ...

  2. linux 连接自动断开时间,两种解决SSH连接Linux超时自动断开的方法

    引言 个人在工作中经常用xshell远程登录服务器进行各种操作,但因为生产服务器环境变量和ssh配置不尽相同,也造成了工作上的一些不便,比如正在进行中的工作中断,需要重新连接-- 解决ssh连接Lin ...

  3. centos服务器拒绝ssh连接问题

    centos服务器拒绝ssh连接问题 1.排查防火墙 systemctl status firewalld.service 如果开启排查端口号 firewall-cmd --list-port 如果没 ...

  4. 解决SSH连接出现 Software caused connection abort 的问题

    解决SSH连接出现 Software caused connection abort 的问题 参考文章: (1)解决SSH连接出现 Software caused connection abort 的 ...

  5. 【Linux】ssh连接远程服务器

    [Linux]ssh连接远程服务器 1.背景 2.实例 1.背景 Secure Shell(SSH)是一种加密网络协议,用于在不安全的网络上安全地运行网络服务. 利用SSH可以实现加密并安全地远程登录 ...

  6. 解决SSH连接到服务器后因闲置时间导致的断开连接

    解决SSH连接到服务器后因闲置时间导致的断开连接 方法一 方法二 方法一 (服务器端)通过修改SSH配置文件 使用编辑器(vim.vi)等打开/etc/ssh/sshd_config 找到被注释的代码 ...

  7. linux设置ssh连接超时时间

    linux设置ssh连接超时时间 第一步: 修改/root/.bash_profile文件,新增export TMOUT=1000000(以秒为单位) 第二步: 让这个修改过后的文件生效 source ...

  8. linux中解决SSH连接慢问题

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

  9. ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败

    解决sshd连接缓慢 Linux系统 脚本 #!/bin/bash #更改ssh连接缓慢问题 echo "请输入要更改的主机名,回车跳过" read i if [[ "$ ...

最新文章

  1. 花旗银行将因人工智能裁员50%,失业风波究竟要持续多久
  2. ffmpeg拿AVPacket做缓冲队列时注意
  3. 本地构建和自动化构建_构建自动化面板
  4. idea redis 插件_Intellij IDEA 实用插件安利
  5. 老实人一般容易吃亏,但是老实人遇到的机会比别人多一点点!
  6. Learning SQL--多表查询
  7. 奈飞文化手册_《奈飞文化手册》内容提炼分享1
  8. C# winform界面上传附件到服务器(springboot)
  9. 时钟天气小插件显示没服务器,天气时钟小插件大全
  10. linux 找出僵尸进程,linux 查看僵尸进程
  11. 智能机器人需要机器视觉
  12. android 浏览器 该网站的安全证书有问题
  13. Eolink: 一站式 API 生产力工具
  14. 计算机学院条幅内容,学院迎新活动标语横幅
  15. 工资重要还是五险一金重要
  16. GBA程序开发入门3
  17. 如何上传自己的项目到Maven中央仓库
  18. 【Linux】解决可恶的 “NIC Link is Down”
  19. 一文搞定Vmware下共享文件夹
  20. 字节、字、位、比特的关系

热门文章

  1. Android开发系列之屏幕密度和单位转换
  2. SQLServer 优化SQL语句 in 和not in的替代方案
  3. C++ STL学习笔记 : 2. unordered map 容器
  4. 3.13 判读是否是对称素数
  5. tomcat启动卡住
  6. JAVA基础知识|lambda与stream
  7. 【iCore3 双核心板_FPGA】例程十二:Modelsim仿真实验
  8. 在 ASP.NET MVC 3 中应用 KindEditor
  9. PHP的钩子实现解析
  10. Android处理ListView中的Item中的Button按钮不能点击的问题