ssh秘密鍵・公開鍵を作ってみる

記事タイトルとURLをコピーする
AWSで何かと使うssh秘密鍵・公開鍵。
基本に立ち返って、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鍵生成」を選択します。 AWSRegistKey 06  


鍵の種類は「RSA」のまま、「生成」ボタンをクリックします。 AWSRegistKey 07


パスフレーズを入力します。コメントは公開鍵につけられますので分かりやすいものを。
「公開鍵の保存」ボタン、「秘密鍵の保存」ボタンをそれぞれクリックして、鍵ファイルを保存します。


AWSRegistKey 08


 

AWSで作る

AWS Management Consoleにアクセスします。 AWSManagementConsole 01  


英語にビビらずログインします。 AWSManagementConsole 02


表示されたメニューから「EC2」を選択します。 AWSRegistKey 01


画面左側のメニューから「Key Pairs」を選択します。


AWSRegistKey 02


画面右側の「Create Key Pair」をクリックします。 AWSRegistKey 09


適当な名前を入力します。 AWSRegistKey 10 


公開鍵が登録されると同時に、秘密鍵がダウンロードされます。 AWSRegistKey 11 


ダウンロードした鍵ファイルは、MacやLinuxで使う場合は、chmodを使って属性を600(- rw- --- ---)にしてください。さもないと使うときに怒られます。    

作った公開鍵をAWSに登録する

Mac,Linux,Windowsで作った公開鍵ファイルをAWSに登録します。
AWSで作った場合は登録もされるので、この作業は不要です。 AWS Management Consoleにアクセスします。 AWSManagementConsole 01


英語にビビらずログインします。 AWSManagementConsole 02


表示されたメニューから「EC2」を選択します。 AWSRegistKey 01


画面左側のメニューから「Key Pairs」を選択します。 AWSRegistKey 02


画面右側の「Import Key Pair」をクリックします。 AWSRegistKey 03


「Load public key from file:」に作った公開鍵をアップロードするか、「Public Key contents」に公開鍵の内容をコピペします。
「Keypair Name:」に適当な名前を入力します。 AWSRegistKey 04


登録されました。
秘密鍵は大切に保管しておいてください。

AWSRegistKey 05


 

おまけ:AWSで作った秘密鍵から公開鍵を作る

AWSで作成し、ダウンロードした秘密鍵ファイルから公開鍵ファイルを作ってみます。
下記のようにターミナルで入力します。(秘密鍵ファイルをtmaeaws.pemとしています)

$ ssh-keygen -y -f tmaeaws.pem
ssh-rsa AAAAB3NzaC1y(公開鍵の内容)O1rhPJGXY3/3AxFp

この内容をファイルにコピペするか、実行時にファイルにリダイレクトします。


まとめ

  • 自分の鍵をもっている、自分で作りたい場合は、インポートしてAWSに登録します。
  • 鍵はAWSで簡単に作れます。
  • 秘密鍵はパスワードの代わりになるものです。大切に保管してください。