お名前.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セキュリティの項目を選びます。
- 「インバウンドルール(ポート)一覧」の右側にある「設定を追加」をクリックして、プロトコルを選択し、ポート番号、「ルール名」を入力してから「追加する」をクリックします。
しばらく待つと設定が反映されて、アクセスできるようになります。もしアクセスできない状態が続く場合は、サーバを再起動すると改善されるかもしれません。