關於使用 ssh 登入系統會慢的問題 …

覺得ssh登入好慢,這也是考古題了 …

(如果剛好是UseDNS這個設定的話,還有一個是GSSAPIAuthentication)

簡單來說,Linux主機大部分使用的 ssh daemon 都是用 openssh 來提供 ssh 遠端登入服務(其他常見的還有Dropbear、Busybox),而 openssh 有一個選項叫做 UseDNS,預設是 Yes ,調為 No 之後重新啟動 ssh 服務則登入系統的過程速度就會變快不少,來看看原因:

拿 Ubuntu 14.04 LTS 來看,man sshd_config,找到 UseDNS 這段:

UseDNS Specifies whether sshd(8) should look up the remote host name and check that the resolved host name for the remote IP
address maps back to the very same IP address. The default is “yes”.

白話文,這個設定會決定 ssh 服務要不要檢查使用者的 hostname、IP 對應,但這件事情必須要 Reverse DNS 跟 PTR(Pointer) record 配合,然而一般使用者很可能沒有 IP 反解記錄,如果再加上使用的是浮動IP或甚至兩台主機都是內部的虛擬IP,這個檢查很多時候是沒太多實質意義的,所以才不如關掉,跳過這個檢查可以省去一些時間

如果你是使用 Debian / Ubuntu GNU/Linux 的話,通常是直接在這個設定檔 /etc/ssh/sshd_config 最後一行加上:

UseDNS no

存檔後重啟 ssh 服務:

[bash]$ sudo service ssh restart[/bash]

就可以了

剛好覺得你的 ssh 遠端登入慢慢卡卡的話 … 試試看吧

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。