http://blog.csdn.net/ablo_zhou/article/details/5074887

=============

现象:

在局域网内,能ping通目标机器,并且时延是微秒级。

用ssh连局域网内其他linux机器,会等待10-30秒才有提示输入密码。严重影响工作效率。

========================

客户端操作系统版本:

zhouhh@zhhofs:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

========================

调试信息:

  1. zhouhh@zhhofs:~$ ssh -v 192.168.12.16
  2. OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
  3. debug1: Reading configuration data /etc/ssh/ssh_config
  4. debug1: Applying options for *
  5. debug1: Connecting to 192.168.12.16 [192.168.12.16] port 22.
  6. debug1: Connection established.
  7. debug1: identity file /home/zhouhh/.ssh/identity type -1
  8. debug1: identity file /home/zhouhh/.ssh/id_rsa type -1
  9. debug1: identity file /home/zhouhh/.ssh/id_dsa type -1
  10. debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
  11. debug1: match: OpenSSH_4.3 pat OpenSSH_4*
  12. debug1: Enabling compatibility mode for protocol 2.0
  13. debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
  14. debug1: SSH2_MSG_KEXINIT sent
  15. debug1: SSH2_MSG_KEXINIT received
  16. debug1: kex: server->client aes128-cbc hmac-md5 none
  17. debug1: kex: client->server aes128-cbc hmac-md5 none
  18. debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
  19. debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
  20. debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
  21. debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
  22. debug1: Host '192.168.12.16' is known and matches the RSA host key.
  23. debug1: Found key in /home/zhouhh/.ssh/known_hosts:1
  24. debug1: ssh_rsa_verify: signature correct
  25. debug1: SSH2_MSG_NEWKEYS sent
  26. debug1: expecting SSH2_MSG_NEWKEYS
  27. debug1: SSH2_MSG_NEWKEYS received
  28. debug1: SSH2_MSG_SERVICE_REQUEST sent
  29. debug1: SSH2_MSG_SERVICE_ACCEPT received
  30. debug1: Authentications that can continue: publickey,gssapi-with-mic,password
  31. debug1: Next authentication method: gssapi-with-mic
  32. debug1: An invalid name was supplied
  33. Cannot determine realm for numeric host address
  34. debug1: An invalid name was supplied
  35. Cannot determine realm for numeric host address
  36. debug1: An invalid name was supplied
  37. debug1: Next authentication method: publickey
  38. debug1: Trying private key: /home/zhouhh/.ssh/identity
  39. debug1: Trying private key: /home/zhouhh/.ssh/id_rsa
  40. debug1: Trying private key: /home/zhouhh/.ssh/id_dsa
  41. debug1: Next authentication method: password
  42. zhouhh@192.168.12.16's password:
  43. debug1: Authentication succeeded (password).
  44. debug1: channel 0: new [client-session]
  45. debug1: Entering interactive session.
  46. debug1: Sending environment.
  47. debug1: Sending env LANG = zh_CN.UTF-8
  48. Last login: Fri Dec 25 13:35:04 2009 from 192.168.11.146

可以看到如下的错误信息:

debug1: Next authentication method: gssapi-with-mic
debug1: An invalid name was supplied
Cannot determine realm for numeric host address

事实上,正是从gssapi-with-mic这一行开始,开始耗时间。

====================

失败的尝试:

有人说是在目标机器中修改/etc/ssh/sshd_conf文件

将UseDNS 的缺省值由yes修改为no,并重启sshd。我试了,对这种情况不管用。但不排除对别的延迟情况管用。

====================

有效的解决办法:

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

vi /etc/hosts

192.168.12.16  ourdev

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

2.修改本机的客户端配置文件ssh_conf,注意,不是sshd_conf

vi /etc/ssh/ssh_conf

找到

GSSAPIAuthentication yes

改为

GSSAPIAuthentication no

保存。

再连目标机器,速度就飞快了。

GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5 的通用网络安全系统接口。该接口是对各种不同的客户端服务器安全机制的封装,以消除安全接口的不同,降低编程难度。但该接口在目标机器无域名解析时会有问题。我看到有人给ubuntu提交了相关bug, 说要将GSSAPIAuthentication的缺省值设为no,不知为何,ubuntu9.10的缺省值还是yes。

修改完毕,此时的连接调试数据变为了:

  1. zhouhh@zhhofs:~$ ssh -v 192.168.12.16
  2. OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
  3. debug1: Reading configuration data /etc/ssh/ssh_config
  4. debug1: Applying options for *
  5. debug1: Connecting to 192.168.12.16 [192.168.12.16] port 22.
  6. debug1: Connection established.
  7. debug1: identity file /home/zhouhh/.ssh/identity type -1
  8. debug1: identity file /home/zhouhh/.ssh/id_rsa type -1
  9. debug1: identity file /home/zhouhh/.ssh/id_dsa type -1
  10. debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
  11. debug1: match: OpenSSH_4.3 pat OpenSSH_4*
  12. debug1: Enabling compatibility mode for protocol 2.0
  13. debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
  14. debug1: SSH2_MSG_KEXINIT sent
  15. debug1: SSH2_MSG_KEXINIT received
  16. debug1: kex: server->client aes128-cbc hmac-md5 none
  17. debug1: kex: client->server aes128-cbc hmac-md5 none
  18. debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
  19. debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
  20. debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
  21. debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
  22. debug1: Host '192.168.12.16' is known and matches the RSA host key.
  23. debug1: Found key in /home/zhouhh/.ssh/known_hosts:1
  24. debug1: ssh_rsa_verify: signature correct
  25. debug1: SSH2_MSG_NEWKEYS sent
  26. debug1: expecting SSH2_MSG_NEWKEYS
  27. debug1: SSH2_MSG_NEWKEYS received
  28. debug1: SSH2_MSG_SERVICE_REQUEST sent
  29. debug1: SSH2_MSG_SERVICE_ACCEPT received
  30. debug1: Authentications that can continue: publickey,gssapi-with-mic,password
  31. debug1: Next authentication method: publickey
  32. debug1: Trying private key: /home/zhouhh/.ssh/identity
  33. debug1: Trying private key: /home/zhouhh/.ssh/id_rsa
  34. debug1: Trying private key: /home/zhouhh/.ssh/id_dsa
  35. debug1: Next authentication method: password
  36. zhouhh@192.168.12.16's password:

ssh 连接很慢的解决办法的更多相关文章

  1. 关于 ssh 连接较慢的解决办法

    1. 概述 使用 ssh 软件连接 linux 时, 会碰到很慢的情况 2. 场景 概述 ssh 连接很慢 大概步骤 使用 xshell6 免费版, 连接 主机 一个小等待, 弹出 用户名 输入框 输 ...

  2. 配置BUG-Linux系统下ssh登陆很慢的解决办法

    很多的Linux用户发现连接上Linux服务器在输入用户名之后还要再等一下才能输入密码,时间过长了,现在小编与大家分享一下如何解决ssh登陆问题的问题,希望对您有所帮助 . 1.我们平时登陆Linux ...

  3. Linux系统下ssh登陆很慢的解决办法

    很多的Linux用户发现连接上Linux服务器在输入用户名之后还要再等一下才能输入密码,时间过长了,现在小白与大家分享一下如何解决ssh登陆问题的问题,希望对您有所帮助. 1.我们平时登陆Linux服 ...

  4. SecureCRT ssh连接linux操作系统(解决Ubutu密钥交换失败的问题)

    我们可以使用终端软件SecureCRT 去连接linux操作系统(该SecureCRT服务走端口22,协议是ssh(类似apache走http协议,端口80)),SSH 为 Secure Shell ...

  5. WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)

    WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...

  6. pip install 提示代理连接失败原因及解决办法

    # pip install 提示代理连接失败原因及解决办法 1. 错误提示 在公司电脑上安装Python的虚拟环境时输入命令: pip install virtualenv 系统提示以下异常信息: R ...

  7. Permission 0644 for .ssh/id_rsa Are Too Open 解决办法

    Permission 0644 for .ssh/id_rsa Are Too Open 解决办法 学习了:https://blog.csdn.net/muyimo/article/details/7 ...

  8. Xamarin中VS无法连接Mac系统的解决办法

    Xamarin中VS无法连接Mac系统的解决办法 按照以下步骤排查:(1)确认Mac系统中安装Xamarin.iOS开发必备的组件,如Mono.Xamarin.iOS.(2)将Windows和Mac下 ...

  9. WIN8.1的安装和打开"这台电脑"速度很慢的解决办法

    WIN8.1的安装和打开"这台电脑"速度很慢的解决办法 对于非服务器用的电脑,如果电脑的内存在2G或更高,首推的操作系统是 WINDOWS8.1 64位企业版,用了就知道,没有比这流畅懂事的操作系统. ...

随机推荐

  1. Leetcode 1023. Camelcase Matching

    暴力查找 class Solution: def camelMatch(self, queries: List[str], pattern: str) -> List[bool]: q_size ...

  2. IOS NSBundle的使用,注意mainBundle和Custom Bundle的区别

    1.[NSBundle mainBundle],文件夹其实是Group,如左侧的树形文件管理器 Build之后,文件直接就复制到了根目录下,于是读取的方法,应该是这样: NSString *earth ...

  3. scikit-learn 学习笔记-- Generalized Linear Models (三)

    Bayesian regression 前面介绍的线性模型都是从最小二乘,均方误差的角度去建立的,从最简单的最小二乘到带正则项的 lasso,ridge 等.而 Bayesian regression ...

  4. VMware 虚拟机快照、克隆、磁盘扩容

    1. 快照 快照是虚拟机某个时间点上完整系统的镜像,可以在虚拟机内部通过快照文件恢复系统到之前的节点. 拍摄快照: 恢复快照: 2. 克隆 克隆是原始虚拟机全部状态的一个拷贝,是脱离原始虚拟机独立存在 ...

  5. 比较两个array或者object是否深度相等

    function objectEquals(object1: Object, object2: Object): boolean { for (let propName in object1) { i ...

  6. python中如何将两个list合并成一个list,不用for语句

    1, add 2, 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: 3, 用切片(slice)操作,L1[len(L1):len(L1)] ...

  7. Eclipse设置Courier New字体

    使用Eclipse我们会发现在字体设置里找不到钟爱的Courier New字体.其实这个字体不是没有,只是没有显示而已,它其实隐藏起来了,只需几步便可让其现原形—— 1.找到Eclipse设置字体的地 ...

  8. DBUnit使用介绍

    一.DbUnit设计理念熟悉单元测试的开发人员都知道,在对数据库进行单元测试时候,通常采用的方案有运用模拟对象(mock objects)和stubs两种.通过隔离关联的数据库访问类,比如JDBC的相 ...

  9. Bootstrap-Plugin:弹出框(Popover)插件

    ylbtech-Bootstrap-Plugin:弹出框(Popover)插件 1.返回顶部 1. Bootstrap 弹出框(Popover)插件 弹出框(Popover)与工具提示(Tooltip ...

  10. ssh登录很慢的问题

    1.关闭ssh DNS反向解析 vi /etc/ssh/sshd_config 修改UseDNS no 2.关闭 GSSAPI 的用户认证   vi /etc/ssh/sshd_config 修改GS ...