`

SSH登录很慢问题的解决

阅读更多
用ssh连其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因:

1. DNS反向解析的问题

OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就会很花时间。

解决办法:

在目标服务器上修改sshd服务器端配置,并重启sshd

vi /etc/ssh/sshd_config,设置UseDNS为no即可

当然也可以通过提供DNS正确反向解析的方法解决,有如下两种思路

(1) 在server上/etc/hosts文件中把常用的ip和hostname加入,然后在/etc/nsswitch.conf看看程序是否先查询hosts文件(一般缺省是这样)。

修改server上的hosts文件,将目标机器的IP和域名加上去。或者让本机的DNS 服务器能解析目标地址。

vi /etc/hosts

192.168.12.16  ourdev

其格式是“目标机器IP 目标机器名称”这种方法促效。没有延迟就连上了。不过如果给每台都加一个域名解析,挺辛苦的。但在windows下用putty或secure-crt时可以采用这种方法。

(2)起一台dns服务器(可以是本机),加入反向解析,把这个dns服务器加入到/etc/resolv.conf中。



2. 关闭ssh的gssapi认证

用ssh -v user@server 可以看到登录时有如下信息:

debug1: Next authentication method: gssapi-with-mic

debug1: Unspecified GSS failure. Minor code may provide more information

注:ssh -vvv user@server 可以看到更细的debug信息

解决办法:

在客户端上修改ssh客户端配置(注意不是sshd_conf)

vi /etc/ssh/ssh_config,设置GSSAPIAuthentication no  并重启sshd

可以使用

ssh -A -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -p 32200 username@server_ip
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5 的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题

使用strace查看后发现,ssh在验证完key之后,进行authentication gssapi-with-mic,此时先去连接DNS服务器,在这之后会进行其他操作。
分享到:
评论

相关推荐

    ssh连接慢解决办法(亲测成功)

    ssh连接慢解决办法(成功) 用真机连接虚拟机卡的话: 1.进入虚拟机vim /etc/ssh/sshd_config 2.将 #UseDNS yes改为UseDNS no即可如下: 使用/UseDNS找到地方然后添加 #UseDNS yes UseDNS no #PidFile /var/run/sshd....

    ssh 登录很慢该如何解决

    主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下

    Linux-ssh登陆缓慢的解决方法

    最近几天通过SSH登录局域网内的一台机器时,在输入用户名后,得等10多秒后才会有响应回来,很慢, 但PING的时候TTL时间很快,那机器负载也蛮小的。这个小问题存在了几天,一直没顾上解决,今天在网上查了些资料,...

    Ubuntu SSH连接其他机器很慢的解决办法.pdf

    。。。

    Ubuntu SSH连接其他机器很慢的解决办法.docx

    。。。

    如何用一条命令解决SecureCRT等软件使用SSH连接Linux慢的问题(建议收藏)

    所以把问题的解决方法分享给大家,供大家参考。 文章目录解决方法1.编辑sshd_config文件2.将UseDNS no的内容添加进sshd_config文件的里面,并保存退出。3.重启sshd服务生效 解决方法 其实解决方法很简单 1.编辑sshd...

    内网ssh/mysql登录缓慢的解决方法

    这是由于ssh服务和mysql服务默认都会在登录时进行DNS反向解析的过程,而内网通常我们没有配备DNS服务,那么这时就只能等这些服务自己超时,然后才能允许我们的登录通过,解决方案也很简单,只要关闭相应服务的解析就...

    深入java虚拟机光盘源码-clustermeister:Clustermeister提供了一个框架,用于在远程和分布式Java虚拟机(JVM

    深入java虚拟机光盘资源...另一个问题是通常从开发者机器到集群的连接很慢,因此从开发者机器到所有节点传输文件可能很慢。 Clustermeister 试图通过提供工具来轻松快速地设置节点来解决这个问题。 主要特点 在(虚拟

    Tomato_dual_12.07.0029.7z

    * 解决BUG: [智能QoS] 修复0023, 0028版本智能QoS速度很慢的问题 * 解决BUG: [通讯明细] 修复通讯明细中走WAN3,WAN4的流量,明细记录的“接口”那一项显示为空白的BUG * 解决BUG: [指定出口] 修复12.xx系列版本...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    5.5.1 如何定位执行很慢的sql语句 177 5.5.2 sql优化案例分析 178 5.5.3 合理使用索引 188 5.6 my.cnf配置文件调优 198 5.6.1 per_thread_buffers优化 198 5.6.2 global_buffers优化 200 5.6.3 query cache在...

    《Linux从入门到精通》

    E.9.3 我如何在我的Linux系统上设置Secure Shell (SSH)? E.9.4 为什么Linux只能看到我的内存的一部分? E.9.5 我的奔腾或更高档的机器有超过64M的内存, 但是它似乎很迟钝. 如果我用mem=64M让Linux只用64M内存, 速度...

    Linux从入门到精通

    E.9.3 我如何在我的Linux系统上设置Secure Shell (SSH)? E.9.4 为什么Linux只能看到我的内存的一部分? E.9.5 我的奔腾或更高档的机器有超过64M的内存, 但是它似乎很迟钝. 如果我用mem=64M让Linux只用64M内存, 速度...

    2005详细介绍Linux从入门到精通

    E.9.3 我如何在我的Linux系统上设置Secure Shell (SSH)? E.9.4 为什么Linux只能看到我的内存的一部分? E.9.5 我的奔腾或更高档的机器有超过64M的内存, 但是它似乎很迟钝. 如果我用mem=64M让Linux只用64M内存, 速度...

    linux从入门到精通.chm

    E.9.3 我如何在我的Linux系统上设置Secure Shell (SSH)? E.9.4 为什么Linux只能看到我的内存的一部分? E.9.5 我的奔腾或更高档的机器有超过64M的内存, 但是它似乎很迟钝. 如果我用mem=64M让Linux只用64M内存, 速度...

Global site tag (gtag.js) - Google Analytics