[ Quick Solution Mode ]
eg. ssh tchsu@192.168.1.1 SLOW!!!! NO~~~ >"< $ vi /etc/ssh/sshd_conf # on 192.168.1.1 # add or modify to below: UseDNS no GSSAPIAuthentication no $ sudo service ssh restart
[ Verbose Mode ]
當SSH到某台 Linux 時, 有時候會發現連線速度很慢, 比較常見的問題是因為 target Linux DNS Name 的反解析卡住, 或是在等待GSSAPI 認證 以筆者常使用的環境來說, 通常是 ssh 到 VM 裡的 Linux, eg. ssh tchsu@92.168.x.x 當發生 ssh 很慢時, 就是因為連線目標的Linux 在做 DNS Name 的反解析, 以VM為例, 若VM的Linux 沒有連上網路時 就會很慢, 因為要等 DNS query timeout, 若有連上網路仍很慢, 就有可能是機房的DNS解析有問題, Anyway, 要解決這個問題, 就得修改目標Linux 的ssh設定, 讓 SSH 時 不要做 DNS Name 解析, 在 SSH Server (目標 Linux ) 端, 有一份 /etc/ssh/sshd_conf 的文件, 裡面記錄了 SSH Server 相關的配置, sshd 的 d 指的是 Daemon, 也就是 SSH Server, 你 local 是 SSH Client, 加上或修改成 UseDNS no, 修改完記得 restart ssh $ sudo service ssh restart 有時候改了DNS 為何還是很慢, 這時有可能是另一個問題, 也就是在嘗試 GSSAPIAuthentication 認證, 這時一樣修改 sshd_conf, 加上或修改成 GSSAPIAuthentication no,
ps.
1. 不知道什麼是GSSAPIAuthentication, 可以 man sshd_conf
GSSAPIAuthentication
Specifies whether user authentication based on GSSAPI is allowed.
The default is Note that this option applies to protocol version 2 only.
2. ssh -v xx@x.x.x.x
verbose mode, 可以看到連線時詳細的過程, 可以作為問題發生的參考
3. 不修改 sshd_conf 的話, 可以將 192.168.x.x 寫進 /etc/resolv.conf
沒有留言:
張貼留言