How to fix SSH login prompt delay?
最近 Mowd 注意到用 pietty 連 SSH 時,常常要等上幾秒鐘才會出現輸入帳號的提示文字
原本以為是網路問題,後來才發現不是這樣
會出現這種情況的原因有兩個
解決方法如下:
1. 在 /etc/ssh/sshd_config 設定 UseDNS no
client 端試圖連線 SSH 時,SSH 會試圖進行 DNS PTR 反查 client 端的 host name,再根據 host name 進行 DNS A 記錄查詢,以確保連線安全,client 端沒有被偽造
不過一般我們在家裡連線的 IP 是不會有 PTR 記錄的,所以就可以關閉他以縮短等待時間
client 端試圖連線 SSH 時,SSH 會試圖進行 DNS PTR 反查 client 端的 host name,再根據 host name 進行 DNS A 記錄查詢,以確保連線安全,client 端沒有被偽造
不過一般我們在家裡連線的 IP 是不會有 PTR 記錄的,所以就可以關閉他以縮短等待時間
2. 在 /etc/ssh/sshd_config 設定 GSSAPIAuthentication no
SSH 的驗證方式有很多種,像是 public key 驗證、密碼驗證等等,而 GSSAPI 驗證應該是某次 SSH 更新時加入的
如果不想要在 sshd_config 關閉這個驗證方式的話
可以在每次連線時設定停用此選項
ssh -o GSSAPIAuthentication=no user@example.com