CentOS Delay on ssh connection

なんか、sshでの接続が遅かった。

いくつかlinuxの動いているサーバがあるものの、一部でなぜかssh接続までに間が開くので躓く。ぐぐる様にお問い合わせするといくつか原因がある様子。

一つ目はDNSの逆引き

# grep UseDNS/etc/ssh/sshd_config
UseDNS no

sshd_configUseDNSをnoにするか、/etc/hostsに適当に引けるように追加する。

 

2つ目はGSSAPIとやら。クライアントとして認証がyesになったssh_configでしたが、それがダメとか?

# cat -n /etc/ssh/ssh_config
(snip)
58 Host *
59  GSSAPIAuthentication yes
(snip)

 

59行目を#でコメントしてあげると良い様子。1つ目と2つ目いずれも

# systemctl restart sshd
# service sshd restart

をしていましたが、クライアントsideならそのままでもよさそうな気もします。ぐぐった対処にservicesystemctlが混じるってことはCentOS6でも7でも抱えてる問題ということでしょうか? そろそろCentOS8の時代なのに….。カテゴリーとしてはsshの足回りの問題といったほうが早いのかもしれません。

 

3つ目、

ssh -v とするとdebugできるらしいのですが

debug1: pledge: network

で引っかかる。その時は次。

# systemctl restart systemd-logind

ここまで行けばと思ったらsystemdsshdもうまくrestartできない問題。rebootとしてもダメ。shutdown -r nowもだめ。kernelが古い時代にもあったようだけど kernel-3.10.0-957.21.3.el7.x86_64 で引っかかりました。

# reboot -f

で対処。

AddressFamily anyというあたりも問題あるケースもあるとのことだったが、caseによってはそうなんだろうなぁ。IPv4とIPv6が絡むところはinetとか指定してあげたほうがよさそう。

# egrep "UseDNS|GSSAPIAuth|AddressFamily" /etc/ssh/ssh*_config

でトータルとしてはssh_configsshd_configから引っ張ってみればいいじゃないのかと。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です