Connection refuse

flabaka

突然、Connection refused

ターミナルからssh接続しようとしたら、Connection refusedに…

前日までは接続出来ていたのに、何で?

ssh接続のポートが開いていない?

これを試してみると、どうやらsshのポートが開いていないっぽい…

コントロールパネルからログインして

ターミナルからssh接続出来ないので、コントロールパネルからログインして、シリアルコンソールを起動し、sshにpermanentの設定はしてあったのかを確認してみる。

firewall-cmd --list-services --zone=public --permanent

リストにsshが表示される。

問題なさそう…

ポート番号の確認

ポート番号の設定を確認する為に、

vi /etc/ssh/sshd_config

ポート番号はデフォルト値から任意の値に変更されていたので、(念の為)以下をやっておく。

service sshd restart

これで直るかなと思って、ssh接続を再び試みるも、接続出来ず…

原因は他にあるっぽい。

ssh.xmlファイルがない…

ssh.xmlファイルも確認せねばということで…

vi /etc/firewalld/services/ssh.xml

さっ、ポート番号を確認しようかな? と思ったら、ファイルが新規作成された…

えっ、何で?

以前に作成したssh.xmlファイルが、無くなっている…

仕方ない、作り直すか…ということで、

cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
vi /etc/firewalld/services/ssh.xml

ポート番号を変更(sshd_configと同じ値を設定)して、以下を実行。

firewall-cmd --reload
systemctl restart sshd

ssh接続を試してみると、成功!

/etc/firewalld/services/ssh.xmlファイルが無くなっていたので、Connection refusedになっていたみたいです。

何故ファイルが無くなったのか…

以前ポート番号を変更した際に、/etc/firewalld/services/ssh.xmlファイルではなく、/usr/lib/firewalld/services/ssh.xmlの方を編集していたのかな? とか思ったけど、(もしそうならば)ポート番号は変更した値になっているはずだけど…

<port protocol="tcp" port="22"/>

デフォルトの22のまま…

う〜ん、(/etc/firewalld/services/の)ssh.xmlファイルを消去した覚えはないんだよなぁ〜

他に考えられるとしたら…

  1. yum update
  2. Let’s Encryptの証明書の更新
  3. Connection refused

yum updateは問題なく終了して、ログアウト→翌日、証明書の自動更新(この日はログインせず…)→翌日ログインしようとしたら、Connection refusedに…

接続出来なくなった流れとしては、こんな感じでした。

証明書はsystemd.timerを使っての自動更新で、それは問題なく終了していたけど、その更新作業の過程で、/etc/firewalld/services/ssh.xmlファイルが消失した? ってことはあるのかな?

次回も証明書の更新作業が行われた後で、またssh接続が出来なくなって、/etc/firewalld/services/ssh.xmlファイルが消失していたら、これが原因と分かるんだけど…


© 2021 flabaka.com