ローカルでSSHキーペアを作成し、EC2にSSH接続する[推奨]

あらまし

EC2にSSH接続するという記事を公開したのですが、より良い方法があると教えてもらったのでまとめました。

公開した記事↓

EC2にSSH接続する

何がダメだったか

前回の記事では、SSH接続するのにキーペアをAWS上で生成しダウンロードしていました。

しかし、そもそも秘密鍵をサーバー上で作成すること自体が危ない
という指摘を頂きました。

ダウンロードする時点で中身を見られる可能性がある、アクセスログに残る可能性がある、キーペア生成後ファイルを削除する前にサーバーがハングする可能性 etc …

色んな可能性が考えられますが、鉄則としては、
秘密鍵はローカルで作成し、権限を400(所有者が読み取りのみできる)に変えて保存。絶対に外部へコピーや移動させないとのことです。

ベターなやり方

キーペアを生成

ssh-keygenコマンドを使いローカルでキーペアを作成。(すみません、自分は昔にキーペアを作ってしまっていたので、詳しい方法はググって見てください)

https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

$ ssh-keygen -t rsa -f hoge.pem
例:hoge.pem、hoge.pem.pub

/.sshに秘密鍵を移動
mv hoge.pem hoge.pem.pub ~/.ssh/

キーペアをインポート

キーペア>キーペアのインポートを指定、公開鍵をインポートする。

SSH接続

あとは、前と同じようにSSH接続します。

$ ssh -i ~/.ssh/hoge.pem your-username@00.000.000.00

おわりに

すぐに教えて頂いた、宮内さん()ありがとうございます!
参考:https://dev.classmethod.jp/cloud/aws/amazon-ec2-keypair-security/?fbclid=IwAR1NpV_BXg3qtCRwqelr_RQ8ddbjBjqDb-YKxEByeCLkKVnpzfAKcfiVME0