在使用ssh遠程登錄Linux主機時,經常出現需要等待一段時間才能登錄,甚至登錄超時的情況
原因一:SSH服務器默認開啟了DNS的查詢功能:UseDNS=yes
當UseDNS選項處於開啟狀態時,客戶端試圖登錄SSH服務器,服務器端先根據客戶端的IP地址進行DNS PTR反向查詢出客戶端的主機名,然后根據查詢出的客戶端主機名進行DNS正向A記錄查詢,驗證與其原始IP地址是否一致,這是防止客戶端欺騙的一種措施,但一般我們的是動態IP不會有PTR記錄,打開這個選項不過是在白白浪費時間而已,不如將其關閉。
vim /etc/ssh/sshd_config
UseDNS=no
#添加該選項
service sshd restart
#重啟sshd服務
原因二:若SSH服務器開啟了GSSAPI登錄驗證模式:GSSAPIAuthentication=yes,默認不開啟
GSSAPI是公共安全事務應用程序接口(GSS-API)
GSSAPIAuthentication 是否允許使用基於 GSSAPI 的用戶認證.默認值為"no".僅用於SSH-2.
GSSAPICleanupCredentials 是否在用戶退出登錄后自動銷毀用戶憑證緩存。默認值是"yes".僅用於SSH-2.
若服務器開啟了該驗證機制,但客戶端並未使用該身份驗證機制,則會導致驗證過程出現延遲
vim /etc/ssh/sshd_config
GSSAPIAuthentication=no
#關閉GSSAPI驗證機制
service sshd restart
#重啟sshd服務
