概要
SSH鍵を作成するssh-keygenコマンドについてのまとめ
ssh-keygen キータイプ
SSHの鍵認証で最も広く使われているのはRSA暗号ですが安全面と性能面で最強なのが「Ed25519」というアルゴリズムらしいです。rsaを利用する場合は最低でも2048bits、推奨は4096bitsで実施した方がいいみたい。
キータイプ | デフォルト 鍵のビット数 | ビット数 |
DSA | 1024 | 1024 |
RSA | 2048 | 1024, 2048, 4096 |
ECDSA | 256 | 256, 384, 521 |
ED25519 | 256 | 256 |
ssh-keygen オプション
オプション | 内容 |
-t キータイプ | 作成する鍵の暗号化形式を「rsa」(デフォルト)、「dsa」「ecdsa」「ed25519」から指定する |
-b ビット数 | 作成する鍵のビット数を指定する(RSA形式の場合、デフォルトは2048bit) |
-a ラウンド数 | ed25519形式で生成する際のKDF(Key Derivation Function)ラウンド数を指定する。数が大きいと暗号の耐性が上がるが、処理に時間がかかるようになる |
-f ファイル | ファイルを指定する(生成または読み出すファイルを指定)。ただし、併用するオプションによって意味が変化する(通常は鍵ファイル) |
-N パスフレーズ | 新しく設定するパスフレーズを指定する |
-P パスフレーズ | 元のパスフレーズを指定する |
-C コメント | コメントを指定する(デフォルトは「ユーザー名@ホスト名」。「-C “”」でコメントを削除) |
-E 形式 | 鍵の指紋(fingerprint)を表示する際の形式を「sha256」(デフォルト)か「md5」で指定する |
SSH鍵作成
パスフレーズなしで「~/.ssh/id_rsa」へrsaの4096鍵長のSSH鍵を作成する
$ ssh-keygen -t rsa -b 4096 -C "" -N "" -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Your identification has been saved in /tmp/id_rsa.
Your public key has been saved in /tmp/id_rsa.pub.
The key fingerprint is:
SHA256:Ii4EEsX/9ql6tkkoNMAgAX17ePfM253cxo1u3G+AHP0
The key's randomart image is:
+---[RSA 4096]----+
|B=. |
|+.o . |
|+. o o . |
|.o + o . . . |
| + .+..S+ . o . |
| o o oo. + o . E|
| o o... . o + B.|
| o .o.o . . B B|
| .++o o.oo|
+----[SHA256]-----+
鍵ファイル確認
$ ls -l ~/.ssh/id_rsa*
-rw------- 1 test test 3243 2月 17 21:52 /tmp/id_rsa
-rw-r--r-- 1 test test 726 2月 17 21:52 /tmp/id_rsa.pub
公開鍵の名前変更
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
動作確認
~/.ssh/id_rsaを作業端末にダウンロードしてきてSSHの時(Teraterm等)にid_rsaを秘密鍵を指定してSSHログインをする。※鍵を作成したのユーザを指定しSSHでログインできること
参考リンク
【 ssh-keygen 】コマンド――SSHの公開鍵と秘密鍵を作成する
ありがとうございます
コメント