登入 SSH 時會延遲一下的解法

最近不知為啥 ssh 登入伺服器時, 出現 login 後會延遲一下才出現 passwd。還有兩台機器用 ssh 互連時, 會卡一陣子才登入 (我有用 public/private key)。由於我透過 ssh 來做 hg push / pull, 這個延遲問題對我來說還挺傷的, 每次和伺服器同步 Mercurial 資料就要頓一下。

執行  ssh -v 發現輸出這行後就停住了:
debug1: SSH2_MSG_SERVICE_ACCEPT received
google 後發現這篇提到這可能是 DNS 查不到 IP 的 domain name 造成的, 所以我試了一下:

  • ssh localhost # 立即登入
  • ssh MY_IP # 即使從 localhost 連也要等一會兒
  • host MY_IP  # 要等一會兒
所以我想應該是 DNS 的問題吧, 於是照該篇說的:
  1. sudo echo 'UseDNS no' >> /etc/ssh/sshd_config
  2. sudo /etc/init.d/ssh restart
問題就解決了。附帶一提, restart 後原本的 ssh connection 不會斷線, 可以安心地 restart。

留言

這個網誌中的熱門文章

(C/C++ ) 如何在 Linux 上使用自行編譯的第三方函式庫

熟悉系統工具好處多多

virtualbox 使用 USB 裝置