お名前.comのVPSにSSHでアクセスできなくなった時の対処法のメモです。
#問題
SSHでサーバにアクセスしようとしたところ、
Resource temporarily unavailable
と表示され、アクセスできなくなりました。一方で、VPSサーバーコントロールパネルからコンソールを開いて
ps ax | grep ssh
と入力すると
973 ? Ss 0:00 /usr/sbin/sshd -D
と出力され、SSHデーモンが動作していることが確認できました。そのため、当初はなぜアクセスできないのか分からない状態でした。
#原因
2021年10月から順次実施されているリニューアルにより、新たに「セキュリティグループ」というものが追加されたことが原因でした。
この変更によりVPSの外側で動作するファイアウォールが追加されたか、ファイアウォールの設定が変更されたようです。そのため、OSのファイアウォールとは関係なく、コントロールパネルで許可をしていないポートへのインバウンド通信ができない状態となりました。
リニューアル後のデフォルトでは0, 22, 80, 443番といったよく利用されるポートのみが開放されています1。今回アクセスできなくなったサーバではセキュリティ対策のためにSSHのポート番号を変更していたため、SSHを使うことができなくなったようです。
#対処法
コントロールパネルのIPセキュリティから利用したいポート番号とプロトコルを追加します。今回はSSHとDNSのためのポートを開放しました。具体的な説明は以下の通りです。
-
まずvpsサーバコントロールパネルを開きます。
-
IPセキュリティの項目を選びます。
-
「インバウンドルール(ポート)一覧」の右側にある「設定を追加」をクリックして、プロトコルを選択し、ポート番号、「ルール名」を入力してから「追加する」をクリックします。
-
「セキュリティグループ一覧」の右側にある「設定を追加」を選んで、「グループ名」を入力し、2で入力した「ルール名」を選択します。このとき、選択欄の右側にある+ボタンを押さないと「追加する」をクリックできないので要注意です。
-
左側メニューより「サーバー一覧」をクリックします。
-
設定を行うサーバの右側にある詳細をクリックします。
-
詳細画面に遷移するので、「IPセキュリティ」の「変更」をクリックします。
-
追加したい項目」をクリックし、プルダウンメニューから3で入力した「グループ名」を選択します。
-
「変更する」をクリックして、操作は完了です。
しばらく待つと設定が反映されて、アクセスできるようになります。もしアクセスできない状態が続く場合は、サーバを再起動すると改善されるかもしれません。
#参考資料
https://knowledge.sakura.ad.jp/22269/