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接続ができるようになります。
今回は以上となります。
コメント