AWSで再起動後、SSHが繋がらなくなった場合の対処法。SELinuxが原因でした。



開発サーバーの再起動テストを行ったところ、SSHが繋がらなくなった。

原因はSSHのポートを変えて、SELinuxのせいでsshdが起動せずというわけで単純なものだったが、切り分けには数時間を要した。

 

まず、こういう場合にはボリュームは生きているはずなので、別のサーバーへボリュームをアタッチすることを考え、別の適当なサーバを立ち上げアタッチしてみた。

すると、そもそもどのボリュームをマウントしていいかわからない問題が発生した。

AWSだとボリュームあとアタッチすると/dev/xvdk・/dev/xvdk1・/dev/xvdk2みたいに3個増え、どれをマウントすればいいの?っていう。

で、ここでAWSサポートに連絡して、一応lsblkっていうコマンドで確認すればいいですよーっていう連絡をもらった。

AWSサポート、マジ神。

 

で、マウントしたはいいが、どう問題をきりわけたらいいのかと悩み藁をもすがる気持ちで/var/log/messagesを見る。

すると、

 

Jul 19 23:00:31 localhost systemd: Stopping OpenSSH server daemon…

Jul 19 23:00:31 localhost systemd: Started OpenSSH Server Key Generation.

Jul 19 23:00:31 localhost systemd: Started OpenSSH server daemon.

Jul 19 23:00:31 localhost systemd: Starting OpenSSH server daemon…

Jul 19 23:00:31 localhost systemd: sshd.service: main process exited, code=exited, status=255/n/a

Jul 19 23:00:31 localhost systemd: Unit sshd.service entered failed state.

Jul 19 23:00:31 localhost systemd: sshd.service failed.

 

sshが繋がらないのはネットワーク系ではなく、特に問題なのは太字の箇所。

なんでsshdが繋がらないのか・・・・と思ってググったところ、selinuxという文字が。

sshのポート番号をデフォルトにするとselinux発動、みたいな。

こちらも藁をもすがる気持ちでselinuxの設定を見てみた。

 

コマンドは、sudo vi /etc/selinux/config。

そしたらenforcingになっていたので、disbaledに変更。

AWSのコンソールに戻ってボリュームのデタッチ&元のサーバにアタッチして再起動。

 

そしたら、、、、

 

 

無事SSHつながった。

ビール飲んだ。

300円くらいするやつ。

 

この記事を見て誰かもビール飲める状況になれば幸い。

[sc:採用情報へのリンク]
カテゴリー: 未分類   作成者: 星野 善彦 パーマリンク

星野 善彦 の紹介

node.js / Objective-Cにて、アトサクという検索管理サービスを作っています。 本ブログでは、トラブルシューティングとともに、参考になるキーワードを紹介します。 もし、気になるキーワードがあれば、アトサクに追加して頂ければ幸いです。