最近频繁遇到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. 【ECNU620】数学题(结论题)

    点此看题面 大致题意: 求\((n-1)!\ mod\ n\)的值. 大力猜结论 首先,看到样例,我们可以猜测: 当\(n\)为质数时,答案为\(n-1\). 当\(n\)为合数时,答案为\(0\). ...

  2. hydra 常用命令解析

    参数说明: Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organi ...

  3. [SpingBoot guides系列翻译]Redis的消息订阅发布

    Redis的消息 部分参考链接 原文 CountDownLatch 概述 目的 这节讲的是用Redis来实现消息的发布和订阅,这里会使用Spring Data Redis来完成. 这里会用到两个东西, ...

  4. 【2019年08月26日】A股最便宜的股票

    查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 便宜指数 = PE + PB + 股息 + ROE,四因子等权,数值越大代表越低估. 本策略只是根据最新的数据来选 ...

  5. 《一起学mysql》3

    索引和查询优化   为什么要索引? 想想我们上小学的时候是怎么查字典的,比方查 理想的 “理”,首先在索引里找到声母 “l”,再找到 “li” 找到 “li”所在的页数,   我们之前建的所有mysq ...

  6. ThinkPHP查询数据的时候toArray()报错解决办法

    当查找不到数据时toArray()会报错,如图 解决办法:先查找数据,然后加个判断,如果有数据再转化为数组,如果没有数据就给个空值,不想代码继续往下执行就return false;

  7. 奥展项目笔记04--Spring cloud 通过父工程打包多个子工程,导出可运行的Jar包

    在spring cloud微服务搭建过程中,我们创建了多个微服务模块,如图: 1.父工程Pom文件 <?xml version="1.0" encoding="UT ...

  8. NIO你真正了解多少?

    解释一下java.io.Serializable接口 类通过实现 Java.io.Serializable 接口以启用其序列化功能.未实现此接口的类将无法使其任何状态序列化或反序列化. IO操作最佳实 ...

  9. canvas的常用功能(电脑版)

    前言: canvas可以单独算为前端的一大知识模块, 今天就研究一下. 先做下前文铺垫: ①创建canvas <canvas id="myCanvas" width=&quo ...

  10. Django基本知识

    一.安装及使用 下载安装 命令行:pip3 install django==1.11.21 pycharm 创建项目 命令行: 找一个文件夹存放项目文件,打开终端: django-admin star ...