AWS EC2 に ssh で接続できなくなった(hosts.allowが失敗した)

ショコラ
ショコラ

AWS EC2 に ssh で接続できなくなった(hosts.allowが失敗した)

今の状況はかなりまずい。
会社が引っ越して hosts.allow に書いたIPアドレスでアクセスすることができない。
さらに、

①EC2 Instance Connect も使えない。
②セッションマネージャー も使えない。
③SSH クライアント も使えない。
④EC2 シリアルコンソール も使えない。

という、絶望的な状況なのです。
どうもボリュームを他のインスタンスにつけて、hosts.allowファイルを書き換えるのが答えのようです。

もっさん先輩
もっさん先輩

(1)まず「イメージを作成」して完全バックアップを作成しようと思います。

(2)イメージの作成
・「イメージ名」に「test」と入力した。
・「終了時に削除」の有効化にチェックをした。
「イメージを作成」ボタンを押しました。

(3)「AMI を現在作成中 ami-0df38cfd957e572dc インスタンス i-01ed4bb82b5d9ac80 から。インスタンスを削除したり、この AMI に関連する他のアクションを実行したりする前に、AMI のステータスが [利用可能] であることを確認してください。」
とコピー中なので待ちます。

(4)7分後。「保留中」から「利用可能」になりました。

(5)「AMI からインスタンスを起動」ボタンを押しました。

(6)インスタンスタイプに前回と同じ t1.micro を選択しました。

(7)キーペアに前回と同じキーペアを選択しました。

(8)ボリュームは変更しませんでした。「インスタンスを起動」ボタンを押しました。

(9)起動しました。

(10)やはり ssh で接続できませんでした。

(11)念のため、testと名前を付けました。

(12)ここでインスタンスを停止して、ボリュームを他のインスタンスに接続して、hosts.allow を編集します。

(13)「ボリューム」に移動した。

(14)「ボリューム」をデタッチした。(気のせいか1回目ではデタッチできなかったような、2回目でデタッチできました。)

「使用可能」を確認

(15)「ボリュームのアタッチ」します。
正常に動くインスタンスの「/dev/sdf」を選択します(データボリュームの場合は /dev/sd[f-p])。とありますね。

(16)インスタンスを開始します。

(17)ボリュームを調べる。AWSでは「/dev/sdf (attached)」となっているが、実際は「/dev/xvdf」になっていた。↑でも「/dev/xvdf」に変更されることがあるといっていたのはこのことでしょう。

lsblk

(18)「/dev/xvdf」をマウントする。

sudo mkdir /mnt/mydata
sudo mount /dev/xvdf1 /mnt/mydata

(17)ここで、ようやくhosts.allow 書き換えです。

sudo vi /mnt/mydata/etc/hosts.allow

(18)IPの追加が終わったらアンマウント

sudo umount /mnt/mydata

(19)起動中にデタッチできました。

(20)これを元のインスタンスにアタッチします。
※デバイス名には「/dev/sda」を選択します。

(21)これでインスタンスを開始しました。

(22)SSHでアクセスできることを確認できました。長いなこの方法は・・・スナップショットで考えるかな・・・

以上

Scroll to Top