连接linux服务器一般都是使用SSH远程连接的方式。有时,SSH连接速度很慢,大约30s左右,但是ping时一切正常。

问题原因

1、server的sshd会去DNS查找访问的client ip的hostname,如果DNS不可用或者没有相关记录,就会消耗一段时间。(我是这种情况)
2、在authentication gssapi-with-mic有时候也会消耗一段时间

排查过程

测试查找具体原因:
使用ssh -v host进行debug
ssh -v IP

然后就会输出一大堆debug,通过debug信息就可以看到连接到什么地方被耽搁了
比如会显示如下信息:

报错是,关于Unspecified GSS failure

检测连接时间
time ssh root@IP exit

处理方法

方法1、关闭DNS反向解析(我的这种原因)

1、在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。
在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes

#  vim /etc/init.d/sshd restart

注意:修改之后记得重启sshd服务/etc/init.d/sshd restart

systemctl restart sshd

2、或者将dns配置注释掉(不推荐

#  vim /etc/resolv.conf

将里面的nameserver加#注释掉

方法2、关闭server上的GSS认证

在authentication gssapi-with-mic有很大的可能出现问题,因此关闭GSS认证可以提高ssh连接速度。
#  vim /etc/ssh/sshd_config
修改GSSAPIAuthentication no

同理重启ssh服务

 

Q:ssh远程连接慢的原因排查的更多相关文章

  1. ssh远程连接的故障排查详解

    排查故障: 1.两个机器之间是否通畅,看物理网络(网线网卡,IP是不是正确) ping ip -t 来检测物理网络是否通畅 通 不通 不通: 1.客户端到服务器端物理链路有问题 网卡 ,IP ,  网 ...

  2. SSH远程连接连接其他主机,等待时间过长的原因。

    ssh远程连接登录到其他主机,输入登录用户名,等待时间很长时间,然后才出现输入密码的提示.导致这样时间过长,太慢了的原因有两个.(1)当使用ssh远程登录到某个IP时,这个IP的主机系统会读取/etc ...

  3. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第七集之SSH远程连接——克隆与更改配置】

    一.SSH远程连接 OpenSSH的安装 查看是否安装Openssh:rpm -qa | grep ssh搜索openssh安装包:yum search openssh安装openssh:yum in ...

  4. SSH远程连接服务

    一.SSH 原理图 二.SSH 原理描述 2.1:什么是SSH SSH是专门为了远程登录会话和其他网络服务提供的安全性协议,使用SSH协议可以有效的防止远程连接会话的时候出现信息泄密,在数据传输的时候 ...

  5. Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]

    Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT.桥接和Host-only] 作者:天齐 一.Windows和linux虚拟机之间联网实现SSH远程连接 ...

  6. ssh远程连接docker中linux(ubuntu/centos)

    ssh远程连接docker中linux(ubuntu/centos) https://www.jianshu.com/p/9e4d50ddc57e centos docker pull centos: ...

  7. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  8. 远程连接Kali Linux使用PuTTY实现SSH远程连接

    远程连接Kali Linux使用PuTTY实现SSH远程连接 本书主要以在Android设备上安装的Kali Linux操作系统为主,介绍基于Bash Shell渗透测试.由于在默认情况下,在Andr ...

  9. CentOS 6.0修改ssh远程连接端口

    转自:系统运维 » CentOS 6.0修改ssh远程连接端口 实现目的:把ssh默认远程连接端口修改为2222 方法如下: 1.编辑防火墙配置:vi /etc/sysconfig/iptables ...

  10. SSH 远程连接

    ssh远程连接 准备工作: 1 准备两台linux pc 我们一般用的是VMware虚礼软件 2 这两台linux可以互通 3 linux1 :192.168.2.2 这台为你要连接的服务器 linu ...

随机推荐

  1. 基于 JUnit 的全局单元测试程序

    在 Java 程序中,JUnit 是备受开发人员喜爱的单元测试工具.通常,程序员会对每个程序的每个模块写单元测试.对于小型程序来说,程序员只需要手工执行这些单元测试程序就可以,工作量并不大,但是对于中 ...

  2. 浅析JVM内存结构和6大区域

    内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收 ...

  3. Codeforces Round 892 (Div.2)

    A. United We Stand 题解 赛时想复杂了 题目要求我们保证数组\(c\)中的数不是数组\(b\)中任意一个数的因子 我们考虑将最小值置于数组\(b\)即可 const int N = ...

  4. .NET 使用 ZXing.Net 生成二维码,并识别

    .NET 使用 ZXing.Net 生成二维码,并识别 前言 前面已经分享给很多创建二维码,条形码...等一系列的方式 各有优缺点,暂时不做评价.今天推荐ZXing.Net .也是比较全面的一种方式, ...

  5. 在Windows下为CodeBlocks20.3安装、配置wxWidget3.2.6

    0.前言 CodeBlocks是使用C++编写程序的一个很好的开发环境,最大的好处是它是开源的.免费的,而不仅仅是因为它具有跨平台的能力.还有一个很重要的原因是在CodeBlocks中可以使用wxWi ...

  6. uniapp不介入第三方,Android调用各种权限

    代码: onLaunch: function() { console.log('onLaunch') //监听底部中间菜单的事件 uni.onTabBarMidButtonTap(()=>{ p ...

  7. win10重装如何跳过微软账号直接设置本地帐户

    ​在添加你的帐户界面,选择脱机帐户 第二个页面,选择有限的体验 第三个页面,设置自己本地的用户名 第四个页面,设置自己本地的密码

  8. django数据库反向迁移

    目录 django数据库反向迁移 步骤一:连接MySQL 方式一:使用pymysql连接 方式二:使用mysqlclient连接 步骤二:迁移数据库 正向迁移(通过类创建表) 反向迁移(通过表创建类) ...

  9. debian 安装后需做的几件事

    debian 安装后需做的几件事 安装环境:X86 >> Debian 9 Linux/GNU apt源更新 注意连上有线网络刚安装好的debian系统中,/etc/apt/sources ...

  10. Qt音视频开发25-ffmpeg音量设置

    一.前言 音视频的播放.关闭.暂停.继续这几个基本功能,绝大部分人都是信手拈来的搞定,关于音量调节还是稍微饶了下弯弯,最开始打算采用各个系统的api来处理,坐下来发现不大好,系统的支持不完美,比如有些 ...