最近频繁遇到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. Git& GitHub常用的操作

    Git是目前世界上最先进的分布式版本控制系统. 创始人:Linus Torvalds林纳斯·托瓦兹 经典的集中管理型(CVS.VSS.SVN) 版本管理系统: 1.版本管理的服务器一旦崩溃,硬盘损坏, ...

  2. 【模板】gcd和exgcd

    1. gcd: int gcd(int a,int b) { return !b?a:gcd(b,a%b); } exgcd: int exgcd(int a,int b,int& x,int ...

  3. 微软官方 Github 上的 EF 示例项目 EntityFramework.Docs

    项目地址:https://github.com/aspnet/EntityFramework.Docs/tree/master/samples/core 谢谢浏览!

  4. Chrome教程之使用Chrome DevTools命令菜单运行命令

    1.模拟移动设备 点击 Toggle Device Toolbar 2.限制网络流量和 CPU 占用率 要限制网络流量和 CPU 占用率,请从 Throttle 列表中选择 Mid-tier mobi ...

  5. 常用的排列、组合、阶乘函数 MATLAB

    1.求n的阶乘,方法如下:a.factorial(n)b.gamma(n+1)c.v='n!'; vpa(v) 2.求组合(数),方法如下:a.combntns(x,m)    列举出从n个元素中取出 ...

  6. 异步编程,await async入门

    网上很多异步编程的文章,提供一篇入门: 异步编程模型 .net支持3种异步编程模式: msdn:https://docs.microsoft.com/zh-cn/dotnet/standard/asy ...

  7. 创建vue3项目

    最近准备做一个vue的小项目关于vue3的使用. 首先在vscode全局安装vue脚手架,npm i -g @vue/cli. 然后创建vue项目,vue create mydemo(项目名). 接下 ...

  8. mvc后台传到前台的值带html标签css(解决方法)

    mvc后台传到前台的值带html标签css MVC中要用:@Html.Raw(后台数据库取的值); 或者MvcHtmlString.create();

  9. curl命令查看时间信息

    参考:https://blog.csdn.net/jackyzhousales/article/details/82799494 示例:curl www.baidu.com -w "time ...

  10. python如何通过windows命令行运行一个python程序文件?

    python如何通过windows命令行运行一个python程序文件? cmd 进入到py文件对应目录下或者直接在上面的文件地址栏输入cmd,敲入回车 定位到对应的目录下 输入python xxx.p ...