方法一:
來自:http://menjoy.javaeye.com/blog/287375
項目中利用ssh和rsync同步和分發檔案,發現ssh登入和傳輸速度都很慢,問題按照如下方式解決
Linux sh代碼
- 用戶端進行如下修改
- echo "GSSAPIAuthentication no" >> ~/.ssh/config
- 服務端
- vi /etc/ssh/sshd_config
- 按照下面兩項修改
- GSSAPIAuthentication no
- UseDNS no
方法二: (自己是參考此方法來修改)
來自:http://www.examda.com/linux/fudao/20100305/091410455.html
相信很多朋友在使用Linux系統的時候因為安全性的原因摒棄了telnet rlogin 或者 X-window,而把openssh作為自己預設的遠程登入方式。
然而經常會遇到的一個情況是telnet到server速度很快,但是ssh串連的時候卻很慢,大概要等半分鐘甚至更久。ping的速度也非常好,讓人誤以為是ssh串連不上。
下面說下如何解決這樣的問題,最為常見的原因是因為server的sshd會去DNS尋找訪問client IP的hostname,如果DNS不可用或者沒有相關記錄,就會耗費大量時間。
1, 在server上/etc/hosts檔案中把你原生ip和hostname加入
2, 在server上/etc/ssh/sshd_config檔案中修改或加入UseDNS=no
3, 注釋掉server上/etc/resolv.conf中所有行
4, 修改server上/etc/nsswitch.conf中hosts為hosts: files
5, reboot server使配置生效
另外在
authentication gssapi-with-mic
也有可能出現問題,在server上/etc/ssh/sshd_config檔案中修改GSSAPIAuthentication no.
/etc/init.d/sshd restart重啟sshd進程使配置生效
如果以上兩招還不能解決問題,善於使用DEBUG MODE ssh -v來查看log,找到停滯時間最長的步驟,然後針對性的修改配置解決。