最近频繁遇到ssh登录到服务器验证慢的这个问题,今天抽时间总结下原因以及解决办法。

UseDNS

  登录到服务器端查看sshd_config配置文件,当UseDNS项配置为yes时(默认情况下可能大多数系统都为yes),当UseDNS启用时,我们客户端尝试登录服务器时,服务器会根据客户端的IP地址反向解析到客户端的主机名,然后通过DNS正向解析验证是否与源IP地址一致,但是一般情况下我们的办公网IP地址或者家用地址都不会有解析记录,所以该配置对于我们来说是可以关闭的,关闭此配置一般可以解决在使用公网远程时登录服务器慢这个问题。

vim /etc/ssh/sshd_config
UseDNS no

GSSAPIAuthentication

  近期遇到了一个内网登录其他服务器非常慢的例子,在修改了UseDNS配置项后没有太大帮助,因为关闭UseDNS配置项主要是能优化公网访问过程中登录慢的问题,至于为什么打开GSSAPIAuthentication会造成内网登录服务器慢呢,下面我们通过ssh登录过程进行分析。

ssh -v root@192.168.1.1

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password

  在这里我们只取了一行对我们作用比较大的输出内容,从这行内容中我们看到,当我们从客户端远程服务器时认证顺序如下:publickey-->gssapi-keyex-->gssapi-with-mic-->password,从这个认证顺序我们可以知道,最先使用的认证是公钥认证方式,最先当然也就表明这种方式是登录最快的认证,所以如果我们登录服务器使用的是公钥进行认证,只要公钥认证正常,GSSAPIAuthentication配置项我们是不需要关闭的,因为我们并不需要经历GSSAPIAuthentication认证过程,但是如果我们是用密码进行登录认证的,GSSAPIAuthentication认证项的时间我们是需要等待的,这就是造成我们使用密码登录时间过长的原因,所以这里解决有两种办法:一、我们使用公钥进行登录验证。二、使用密码验证时关闭GSSAPIAuthentication。

vim /etc/ssh/sshd_config
GSSAPIAuthentication no

SSH登录服务器慢的更多相关文章

  1. ssh登录服务器提示错误no hostkey alg

    ssh登录服务器提示错误no hostkey alg ssh root@192.168.1.100 -vvv 提示失败: no hostkey alg 登录到192.168.1.100服务器 rm - ...

  2. centos linux ip地址无法连接数据库,ssh登录服务器时必须使用22端口

    问题一:连接数据库时直接使用ip地址无法连接,必须使用ssh方式才能连接? 问题二:ssh登录服务器时必须使用22端口,在/etc/ssh/sshd_config中添加了10086端口,防火墙中已开启 ...

  3. Mac 无密码 SSH 登录服务器

    Mac 无密码 SSH 登录服务器,只需要简单三步,不再需要记住账号密码,快速进入服务器 第一步,生成密钥对 在当前用户下创建.ssh目录 mkdir ~/.ssh 使用命令ssh-keygen生成密 ...

  4. 使用GO语言灵活批量ssh登录服务器执行操作

    摘要: 在工作中时常需要登录服务器做一系列操作,每次输入ssh xxx总是很麻烦.这时候为什么不考虑写一个通用的小脚本呢? go语言是一门新兴语言,能够在很多地方发挥总用.初学go语言,做了这么一个小 ...

  5. git用户限制ssh登录服务器

    服务器额外的防范措施: 搭建git服务器后通常会建立一个git账户,其它人共用这个账户来克隆或推送数据到git仓库中,通常也只需要这个功能,但是如果不加限制,那么其它人可以通过这个git账户登录到主机 ...

  6. 阿里云ECS利用密钥对ssh登录服务器

    https://blog.csdn.net/u012865381/article/details/78521087/ 1.在服务机上操作创建要远程登录的用户和密码 [root@izwz97s23bov ...

  7. ssh登录服务器免密钥

    我有三台Linux,IP分别为a:10.0.0.20/b:10.0.0.50/c:10.0.0.60/d:10.0.0.70 # a为本地主机  b c d为远程主机 #在a上生成密钥对(3次回车出现 ...

  8. 在linux上使用ssh登录服务器,Linux权限

    本文是作者原创,版权归作者所有.若要转载,请注明出处 ssh为Secure Shell(安全外壳协议)的缩写. 很多ftp.pop和telnet在本质上都是不安全的. 我们使用的Xshell6就是基于 ...

  9. Linux SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking错误

    错误:ECDSA host key "ip地址" for  has changed and you have requested strict checking. 解决方案:在终端 ...

随机推荐

  1. 【2019.7.25 NOIP模拟赛 T3】树(tree)(dfs序列上开线段树)

    没有换根操作 考虑如果没有换根操作,我们该怎么做. 我们可以求出原树的\(dfs\)序列,然后开线段树维护. 对于修改操作,我们可以倍增求\(LCA\),然后在线段树上修改子树内的值. 对于询问操作, ...

  2. 使用system V实现读者写者问题

    #include <stdio.h> #include <sys/sem.h> #include <sys/ipc.h> #include <string.h ...

  3. Note | MATLAB

    目录 1. 读写文件 简单读写 将rgb保存为yuv文件 从yuv文件中读取Y通道 将TIFF图片拼接为yuv文件 2. 字符串操作 3. 画图 4. 词频统计 1. 读写文件 简单读写 fp = f ...

  4. border和outline的区别

    如果有一个需求,给一个元素增加一条边框,想必大家会习惯且娴熟的使用border来实现,我也是这样   但其实outline也能达到同样的效果,并且在有些场景下会更适用,比如下面的demo 使用bord ...

  5. Practical Go: Real world advice for writing maintainable Go programs

    转自:https://dave.cheney.net/practical-go/presentations/qcon-china.html?from=timeline   1. Guiding pri ...

  6. ExcelHelper based on NPOI

    //Export data to excel via NPOI public static void ExportDataTableToExcel(DataTable dataTable, strin ...

  7. Asp.Net Core Mvc Razor之RazorPage

    在AspNetCore.Mvc.Razor命名空间中的RazorPage继承RazorPageBase,并定义的属性为: HttpContext Context 表示当前请求执行的HttpContex ...

  8. C# vb .NET生成QR二维码

    二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付.通过将某些数据生成二维码,就可以实现一码走天下.那么如何在C#,.Net平台代码里生成二维码呢?答案是使用SharpBarcode! S ...

  9. jmeter实操及性能测试基础知识整理 - 不断更新

    主要基于jmetet工具 有任何疑问直接留言,可以相互讨论 线程组菜单: 线程数:并发数量Rame-Up时间(秒):多久跑完线程数,比如线程是10,Rame-Up时间是10秒,就是10秒内跑完10个线 ...

  10. Android studio R文件丢失或错误解决方法

    android studio中有时引用资源会出现R文件丢失或报错,大多数情况下是由于引入资源时R文件没有及时更新造成的 (在代码没有错误或资源引用没有错误的前提下) 注意:资源文件的文件名必须小写,即 ...