ssh-keygenの個人的なチートシート

ssh-keygenの基本

秘密鍵の保存先は~/.ssh/になる。これが一般的な場所。

鍵が何に使用されるのかを一目でわかるように、ファイル名を明示的にすることが推奨されている。例えば、Azure VM用の鍵であれば、az_vm_key のような名前を使用する感じで。

パーミッションの設定: 鍵ファイルは適切なパーミッション設定が必要です。一般的には、秘密鍵ファイルは 600(所有者のみ読み書き可能)とします。コマンドで設定する場合は chmod 600 ~/.ssh/your_private_key とします。

複数用途での鍵の再利用を避ける: セキュリティのベストプラクティスとして、同じ鍵を複数の用途やサービスで使用することは避けるべき。

パスフレーズの設定: 追加のセキュリティレイヤーとして、パスフレーズを設定することが推奨されている。ただし、パスフレーズを忘れると鍵が使用できなくなるから考えどころ。

チートシート

下にいくほどオプションが多くなってくるように書いてる。
基本はRSA鍵の生成を書いていきます。

RSA鍵の生成

ssh-keygen -t rsa

特定のビット長でRSA鍵を生成

ssh-keygen -t rsa -b 4096

鍵の保存先を指定

ssh-keygen -t rsa -f ~/.ssh/custom_key

パスフレーズなしで鍵を生成

ssh-keygen  -t rsa -N ""

既存の秘密鍵から公開鍵を再生成

ssh-keygen -y -f ~/.ssh/existing_private_key

-y 公開鍵を出力します。このオプションは、既存の秘密鍵から公開鍵を再生成する際に使用する。

よく使うテンプレート

ssh-keygen -t rsa -b 4096 -C "comment" -f ~/.ssh/custom_key -N ""