【AWS】起動済みEC2インスタンスにキーペアを追加する方法

AWS

EC2インスタンスに対して、新たにキーペアを作成し、SSH接続を行う方法について紹介します。

AWSマネジメントコンソールでキーペアを作成

まずは、AWSマネジメントコンソールからキーペアを作成します。
EC2の「キーペア」を選択→「キーペア作成」を選択選択


以下のように各項目を選択・記入し、「キーペアを作成」を選択
秘密鍵(.pem)をローカルの環境に保存しておく。今回はデスクトップに配置しておきます。

※pem , ppk形式についてはご自身で確認して下さい。
.ppkでは、この後紹介するssh-keygenコマンドでの公開鍵の取得はできないようです。
.ppkを利用して公開鍵を取得する場合は、PuTTYgenを利用するみたいです。

ここでは、秘密鍵しか作成されていないように見えますが、AWS内部では公開鍵も作成されている。あまり意識しなくても、良い?


保存した秘密鍵からssh-keygenコマンドで公開鍵の内容を生成

WindoswOSの方はコマンドプロンプトをMacOSの方はターミナルを開き
先ほど保存した秘密鍵まで移動しておく。

ここではWindowsOSを使用してますので、以下のような感じ。

C:\Users\Ec2User\Desktop>dir
2024/07/22  15:21             1,674 test.pem



ssh-keygenコマンドを使用して、秘密鍵から公開鍵の内容を取得
※’-y’オプションは、秘密鍵の内容を読み取り、それに対応する公開鍵を標準出力に表示します。
※公開鍵から秘密鍵の内容は取得できない(一方向性にもとずく)

C:\Users\Ec2User\Desktop>ssh-keygen -y -f C:\Users\Ec2User\Desktop\test.pem
// こちらにランダムな値が表示されているはずです。そちらをメモしておく。

もしくは公開鍵を作成しても良い。

C:\Users\Ec2User\Desktop>ssh-keygen -y -f C:\Users\Ec2User\Desktop\test.pem > C:\Users\Ec2User\Desktop\public_key.pub




秘密鍵から生成された公開鍵の内容をEC2インスタンスのauthorized_keyに追記する

無事、秘密鍵から公開鍵の内容を取得できたら、いよいよ最後の工程です。
AWSマネジメントコンソールを開き、対象のEC2インスタンスを選択し、「接続」を選択します。



EC2 Instance Connectタブを選択し、「接続」をクリックすると指定したEC2にアクセスできます。



ブラウザ上にコンソールが出力されます。



./sshディレクトリに移動し、authorized_keyファイルがあることを確認します。

[ec2-user@ ~]$ pwd
/home/ec2-user
[ec2-user@ ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .ssh
[ec2-user@ ~]$ cd .ssh
[ec2-user@ .ssh]$ ls 
authorized_keys
[ec2-user@ .ssh]$ 



viコマンドでauthorized_keysコマンドを開き、メモした公開鍵の内容を追記します。
段落を空け追記した方がよいかも。※viコマンドは、こちらを参考にしてみてください。

[ec2-user@ .ssh]$ vi authorized_keys



これでEC2インスタンスに新たに公開鍵が登録されましたので、対象の秘密鍵を使用してSSH接続ができるようになります。

今回は以上となります。

コメント

タイトルとURLをコピーしました