基本に立ち返って、ssh秘密鍵・公開鍵の作り方、AWSに登録するまでをやってみます。
大まかな流れ
大まかな流れは下記のようになります。
秘密鍵・公開鍵を作る
Mac,Linux、Windows、AWSのいずれかで作ります。
Mac,Linuxで作る
ターミナルを起動します。 下記のようにします。
$ ssh-keygen ←「鍵作ります」
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/tmae/.ssh/id_rsa): ./tmae ←「どこにどんな名前で鍵ファイルを作るか」を入力します
Enter passphrase (empty for no passphrase): ←鍵につけるパスフレーズを入力します
Enter same passphrase again: ←確認のためもう一度入力します
Your identification has been saved in ./tmae. ←「秘密鍵作ったよ」
Your public key has been saved in ./tmae.pub. ←「公開鍵作ったよ」
The key fingerprint is:
66:16:40:3c:06:e9:f5:4c:da:48:07:43:d7:9e:55:b9 tmae@forneus.local ←指紋はこんな感じ
The key's randomart image is:
+--[ RSA 2048]----+
| .**... ... |
| . *+o . . . |
| . + X.. o . |
| . o +.o E |
| S |
| + |
| |
| |
| |
+-----------------+
$ ls -l ←確認します
total 24
-rw------- 1 tmae staff 1766 3 9 12:07 tmae
-rw-r--r-- 1 tmae staff 400 3 9 12:07 tmae.pub
$ mv tmae tmae.pem ←秘密鍵ファイルを分かりやすいようにリネームします
$ ls -l ←もう一度確認します
total 24
-rw------- 1 tmae staff 1766 3 9 12:07 tmae.pem
-rw-r--r-- 1 tmae staff 400 3 9 12:07 tmae.pub
Windowsで作る
Windowsでは標準機能では作ることができないので、ツールを導入します。
ツールはいくつかあるのですが、今回はみんな大好きTeraTermを使います。
TeraTermを起動して、メニュー「設定」から「SSH鍵生成」を選択します。
鍵の種類は「RSA」のまま、「生成」ボタンをクリックします。
パスフレーズを入力します。コメントは公開鍵につけられますので分かりやすいものを。
「公開鍵の保存」ボタン、「秘密鍵の保存」ボタンをそれぞれクリックして、鍵ファイルを保存します。
AWSで作る
AWS Management Consoleにアクセスします。
英語にビビらずログインします。
表示されたメニューから「EC2」を選択します。
画面左側のメニューから「Key Pairs」を選択します。
画面右側の「Create Key Pair」をクリックします。
適当な名前を入力します。
公開鍵が登録されると同時に、秘密鍵がダウンロードされます。
ダウンロードした鍵ファイルは、MacやLinuxで使う場合は、chmodを使って属性を600(- rw- --- ---)にしてください。さもないと使うときに怒られます。
作った公開鍵をAWSに登録する
Mac,Linux,Windowsで作った公開鍵ファイルをAWSに登録します。
AWSで作った場合は登録もされるので、この作業は不要です。
AWS Management Consoleにアクセスします。
英語にビビらずログインします。
表示されたメニューから「EC2」を選択します。
画面左側のメニューから「Key Pairs」を選択します。
画面右側の「Import Key Pair」をクリックします。
「Load public key from file:」に作った公開鍵をアップロードするか、「Public Key contents」に公開鍵の内容をコピペします。
「Keypair Name:」に適当な名前を入力します。
登録されました。
秘密鍵は大切に保管しておいてください。
おまけ:AWSで作った秘密鍵から公開鍵を作る
AWSで作成し、ダウンロードした秘密鍵ファイルから公開鍵ファイルを作ってみます。
下記のようにターミナルで入力します。(秘密鍵ファイルをtmaeaws.pemとしています)
$ ssh-keygen -y -f tmaeaws.pem
ssh-rsa AAAAB3NzaC1y(公開鍵の内容)O1rhPJGXY3/3AxFp
この内容をファイルにコピペするか、実行時にファイルにリダイレクトします。
まとめ
- 自分の鍵をもっている、自分で作りたい場合は、インポートしてAWSに登録します。
- 鍵はAWSで簡単に作れます。
- 秘密鍵はパスワードの代わりになるものです。大切に保管してください。