NeeNetです。
今回は、既存で設定されているEC2のSSHキーを変更する方法をご紹介します。
なお、既存のSSHキー情報は持っていることを前提としています。
対応手順
EC2キーペアの作成
まず、AWSのEC2のサービスページから、「ネットワーク&セキュリティ→キーペア」とページを進んで頂き、「キーペアを作成」をクリックします。
今回作成するキーのタイプはRSAで、キーファイルの形式は .pem
としました。
キーペアの作成が完了すると <キーファイル名>.pem
というファイルがダウンロードされると思いますが、そちらが秘密鍵ファイルになります。
公開鍵の作成
秘密鍵から、EC2インスタンスに設定するための公開鍵を作成します。
WindowsであればPowerShellで(Macであればターミナルで)作成したキーファイルに対し以下のコマンドを実行することで公開鍵を作成できます。
$ ssh-keygen -y -f test-key.pem
ssh-rsa AAAAB3...
ssh-rsa ...
で始まる1行が公開鍵になります。
補足
ssh-keygen
のコマンドが失敗した場合は、次のコマンドを実行して秘密鍵ファイルに対するアクセス許可を実行して再度確認してみてください。
chmod 400 test-key.pem
EC2インスタンスへの公開鍵の登録
次に、先に作成した公開鍵をEC2インスタンスに登録します。
まず、既存のSSHキーでEC2インスタンスに接続し、 ~/.ssh/authorized_keys
ファイルを表示してみます。
$ cat ~/.ssh/authorized_keys
ssh-rsa ...
すると、上記の通り既存のSSHキーの公開鍵が登録されていると思います。
これに、vimなどのコマンドラインエディタを利用して先に作成した公開鍵をファイルの末尾に追加し、保存します。
$ vi ~/.ssh/authorized_keys
ssh-rsa ...
ssh-rsa AAAAB3... ★これを追加
接続の確認&既存のキーの削除
ここまで完了できたら、一旦EC2インスタンスからログアウトし、冒頭で作成した新しいSSHキー(例では test-key.pem
)でアクセス可能か確認します。
新しいキーでの接続が確認できたら、既存のキーの公開鍵を削除して保存します。これにより、既存のSSHキーでのアクセスができなくなり新しいキーのみでのアクセスが可能になります。
$ vi ~/.ssh/authorized_keys
ssh-rsa AAAAB3...
以上で作業は完了です。
最後に
今回は既存で設定されているEC2のSSHキーを変更する方法をご紹介してみました。
ご参考になりましたら幸いです。