ssh-keygenコマンドについて

CentOS
スポンサーリンク

概要

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の公開鍵と秘密鍵を作成する

ありがとうございます

CentOSSSH
スポンサーリンク
インフラエンジニア|パイナップル星人 ブログ

コメント

タイトルとURLをコピーしました