SecureCRT鏈接時很快,鏈接成功後進去要等十幾秒才顯示內容,才能操做,操做時也很快php
解決方法html
vi /etc/ssh/sshd_configlinux
查找 UseDNS編程
確保是ubuntu
UseDNS nowindows
service sshd restartapi
下面是其實的狀況,從網上搞來的安全
解決Linux系統ssh鏈接太慢的問題服務器
若是是ssh到遠程主機,因爲網絡快慢等諸多因素,慢一點是很正常的;但若是ssh到本地的某一臺主機,也須要等待30s左右,就讓人有些沒法忍受了!
自從使用debian(版本lenny,之前使用ubuntu6.06時候並無這個問題)以來,這個問題就存在了,但一直沒有時間來解決(或是有嘗試過,但失敗了),今天終於忍耐不住,到debian mailing-list上問了一下,而後結合本身的實踐,基本有些結論了!
根據網上的帖子以及各位網友的提議,感受這個問題的解決方法好像並非通用的。不過也不要緊,所涉及修改的也就那麼幾處,若是遇到相似問題,都嘗試一下應該就能找到解決的方法了!
個人問題症狀: ssh lan_host,須要等待至少30秒才能看到Password的輸入提示(網上說這是由於dns反查所形成的);
個人解決方法:須要修改兩個配置文件,/etc/resolv.conf 和 /etc/nsswitch.conf
在/etc/resolv.conf裏面配置一個正式點dns,原來使用的是192.168.1.1,上網是沒有問題的,但這裏須要改爲一個相似222.xx.xx.xx的域名才行;(我對域名這塊沒怎麼研究,不知道該如何正確表述)
對於/etc/nsswitch.conf,須要將:「hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4」 改爲 "hosts: files dns",這種修改,至關於禁止掉了mdns的使用,而只使用dns進行解析;
而後重啓sshd服務。
關於mdns:主要是用來解決zeroconf的問題,通常用於局域網內來解析主機名。在linux中的實現是,每一個主機運行一個mdns的daemon,讓客戶地查詢的時候,返回本身的主機名。譬如你的主機名叫作abc,那麼若是你在nsswitch.conf裏面配置了須要支持mdns解析的話,那麼你就能夠經過ping abc.local, ssh abc.local等來訪問這個機器。其實實質上應該是gethostbyname那裏讀取了nsswitch.conf,而後調用相應的實現來獲取地址的。它的好處是,不用配置。(更多詳情可參見: http://www.multicastdns.org/)
網上關於該問題的經常使用解決方法是(主要就是修改配置文件/etc/ssh/sshd_config):
(1)修改"UseDNS"的值爲「no」(沒有的添加該配置選項,註釋掉的放開便可);這種修改在個人系統裏面好像沒起做用!
(2)修改「GSSAPIAuthentication」的值爲「no」(沒有的添加該配置選項,註釋掉的放開便可);
其實用戶能夠本身運行「ssh -v host」進行debug的,經過debug信息就能夠看到鏈接到什麼地方被耽擱了;個人測試就是在"debug1: Unspecified GSS failure. Minor code may provide more information" 這裏停頓了一下子,因此感受修改「GSSAPIAuthentication」的值應該會有效果,但實踐證實,若是不改上面幾項,該處更改在個人系統依然不起做用!網絡
http://www.linuxdiyf.com/viewarticle.php?id=152141
常常經過ssh 或者 scp 鏈接一堆遠程主機,一樣是 Linux 主機,其中一些建立 ssh 鏈接速度特別慢,鏈接創建以後執行操做速度卻很正常,看來應該不是網絡緣由。解決的方法是經過ssh 的-v參數來查看調試信息的:
用 ssh -v 來查看詳細的鏈接創建過程,立刻用一臺創建鏈接很慢的主機試了一下,在一大堆輸出信息中發如今這裏停留最久:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Next authentication method: publickey
原來是由於嘗試了個沒有意義並且會失敗的 gssapi-with-mic 認證方式浪費了時間,打開(遠程服務器) /etc/ssh/ssh_config 把裏面的 GSSAPIAuthentication yes 改爲 no 關掉它,便可讓 ssh 直接嘗試美妙的 publickey 認證方式。
禁用 GSSAPIAuthentication 先後創建 ssh 鏈接時間的對比:
view plaincopy to clipboardprint?
root@server:~$ time ssh root@192.168.10.1 exit
real 0m18.488s
user 0m0.004s
sys 0m0.008s
root@server:~$ time ssh root@192.168.10.1 exit
real 0m3.531s
user 0m0.016s
sys 0m0.000s
http://blog.csdn.net/imfinger/article/details/6403148
linux ssh鏈接慢
最近發現ssh鏈接的時候卻很慢,ping的速度很是好,讓人誤覺得是ssh鏈接不上。
分析結果,主要緣由爲:DNS的解析IP致使,可分別使用如下幾種分析處理方式
一、在server上/etc/hosts文件中把你本機的ip和hostname加入
二、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no
三、註釋掉server上/etc/resolv.conf中不使用的IP全部行
四、修改server上/etc/nsswitch.conf中hosts爲hosts:files
五、authentication gssapi-with-mic也有可能出現問題,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no。/etc/init.d/sshd restart重啓sshd進程使配置生效。
如以前爲服務器配置了雙網卡,使的在/etc/resolv.conf文件中多了一行目前不使用的IP地址。註釋或者刪除該行便可。
http://blog.chinaunix.net/uid-261392-id-2138927.html
ssh 鏈接慢解決辦法
現象:在局域網內,能ping通目標機器,而且時延是微秒級。
用ssh連局域網內其餘linux機器,會等待10-30秒纔有提示輸入密碼。嚴重影響工做效率。
CentOS修改後效果同樣
=================================
客戶端操做系統版本:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"0
=================================
調試信息:
[root@IBM ~]# ssh -v 10.10.10.100
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.10.10.100 [10.10.10.100] port 22.
debug1: connect to address 10.10.10.100 port 22: Connection refused
ssh: connect to host 10.10.10.100 port 22: Connection refused
----------------[網絡上的調試信息]----------------------
ssh -v 192.168.12.16
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.12.16 [192.168.12.16] port 22.
debug1: Connection established.
debug1: identity file /home/zhouhh/.ssh/identity type -1
debug1: identity file /home/zhouhh/.ssh/id_rsa type -1
debug1: identity file /home/zhouhh/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.12.16' is known and matches the RSA host key.
debug1: Found key in /home/zhouhh/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: An invalid name was supplied
Cannot determine realm for numeric host address
debug1: An invalid name was supplied
Cannot determine realm for numeric host address
debug1: An invalid name was supplied
debug1: Next authentication method: publickey
debug1: Trying private key: /home/zhouhh/.ssh/identity
debug1: Trying private key: /home/zhouhh/.ssh/id_rsa
debug1: Trying private key: /home/zhouhh/.ssh/id_dsa
debug1: Next authentication method: password
password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = zh_CN.UTF-8
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。我試了,對這種狀況無論用。但不排除對別的延遲狀況管用。
====================
有效的解決辦法:
修改本地機器的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。
修改完畢,此時的鏈接調試數據變爲了:
view plaincopy to clipboardprint?
ssh -v 192.168.12.16
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.12.16 [192.168.12.16] port 22.
debug1: Connection established.
debug1: identity file /home/zhouhh/.ssh/identity type -1
debug1: identity file /home/zhouhh/.ssh/id_rsa type -1
debug1: identity file /home/zhouhh/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.12.16' is known and matches the RSA host key.
debug1: Found key in /home/zhouhh/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/zhouhh/.ssh/identity
debug1: Trying private key: /home/zhouhh/.ssh/id_rsa
debug1: Trying private key: /home/zhouhh/.ssh/id_dsa
debug1: Next authentication method: password
password:
http://www.linuxidc.com/Linux/2013-02/79898.htm
http://www.linuxidc.com/Linux/2013-02/79898p2.htm