AWS EC2にSSH接続出来なくなった場合の対処法

なんらかの原因(ssh_configの設定ミス等)でSSH接続出来なくなってしまい、もうどうしようもない場合の対処法です。

実サーバの場合

  1. 物理ドライブを取り外す
  2. 別システムにマウント
  3. 設定ファイルを書き換える
  4. 元のシステムにマウント

AWS EC2の場合

  1. 作業用EC2インスタンスを作成
  2. 作業用インスタンスと復元したいインスタンスを停止
  3. 復元したいインスタンスからRoot VolumeをDetach
    1. EC2 管理画面のInstancesからRoot VolumeのVolume IDを調べる
    2. Volumes から対象のVolume IDを検索して右クリックからDetach
  4. 作業用インスタンスにAttach
    1. 前項で外したVolumeを右クリックしてAttatch
    2. デバイス名は/mnt/sdfとする
  5. 作業用インスタンスを起動
  6. 作業用インスタンスに復元したいインスタンスのVolumeをマウント
    1. $ mkdir /mnt/restore_volume
    2. $ mount /dev/xvdf /mnt/restore_volume
  7. 設定ファイルを書き換える
    1. /mnt/restore_volume以下のファイルを修正
  8. 作業用インスタンスを停止
  9. 作業用インスタンスからVolumeをDetach
  10. 復元したいインスタンスにAttach
    1. デバイス名は/dev/sda1とする。
  11. 復元したいインスタンスを起動