1. 程式人生 > >SSH 登入慢,分析與解決

SSH 登入慢,分析與解決

問題分析: 可以在ssh命令登入的時候加上“-v“ 引數,輸出debug資訊定位問題。 具體操作例子:ssh -v 192.168.1.1
發現如下資訊等待時間過長:
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 No credentials cache found
出現ssh登入慢一般有兩個原因
1、ssh的gssapi認證 2、DNS反向解析的問題
1、ssh的gssapi認證問題 GSSAPI ( Generic Security Services Application Programming Interface) 是一套類似Kerberos 5 的通用網路安全系統介面。該介面是對各種不同的客戶端伺服器安全機制的封裝,以消除安全介面的不同,降低程式設計難度。但該介面在目標機器無域名解析時會有問題 預設情況下,GSSAPIAuthentication在伺服器端和客戶端都啟用的。如果DNS服務出現問題,那麼登入過程要等到DNS查詢超時後才能繼續,這就是為什麼SSH登入提示符要等很久才出現的原因。 為什麼ssh登入過程中要用到DNS解析服務呢?這個是GSSAPI認證方式需要的緣故。
解決方法: vim /etc/ssh/sshd_config 編輯修改以下兩個引數 GSSAPIAuthentication yes GSSAPICleanupCredentials yes 改成 GSSAPIAuthentication no GSSAPICleanupCredentials no 改完/etc/init.d/sshd restart重啟 2、DNS反向解析的問題 OpenSSH在使用者登入的時候會驗證IP,它根據使用者的IP使用反向DNS找到主機名,再使用DNS找到IP地址,最後匹配一下登入的IP是否合法。如果客戶機的IP沒有域名,或者DNS伺服器很慢或不通,那麼登入就會很花時間。
解決如下: vim /etc/ssh/sshd_config 編輯修改 #UseDNS yes 改成 UseDNS no 改完/etc/init.d/sshd restart重啟
或者在客戶端的hosts檔案裡面新增客戶端的IP和主機名