2010年2月2日 星期二

登入 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++ 能否用 memcpy 複製 class / struct 的資料?

答案是: POD (plain old data) type 可以。POD type 可和 C 互通, CPP Reference POD Type 的介紹: Specifies that the type is POD (Plain Old Data) type. Thi...