概要
ssh-keygenは、SSHプロトコルで使用される暗号化キーを生成および管理するために不可欠なコマンドです。これにより、パスワードなしで安全にサーバーに接続したり、Gitなどのサービスに認証したりできます。
主な機能
- RSA、ED25519など、さまざまなタイプのSSHキーペアを生成
- 既存のキーのパスフレーズを変更
- 秘密鍵から公開鍵を抽出
- キーフィンガープリントを確認
- キー形式を変換
主なオプション
ssh-keygenコマンドは、キーの生成と管理のためのさまざまなオプションを提供します。
キー生成オプション
キー管理オプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`ssh-keygen` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
ssh-keygenのさまざまな使用例を通じて、SSHキーの生成と管理方法を学ぶことができます。
デフォルトRSAキーペアの生成
ssh-keygen
最も一般的な使用方法で、デフォルトのパス(~/.ssh/id_rsa)にRSAキーペアを生成します。パスフレーズの入力プロンプトが表示されます。
ED25519キーペアの生成とコメント追加
ssh-keygen -t ed25519 -C "your_email@example.com"
ED25519タイプのキーを生成し、公開鍵にメールアドレスのコメントを追加します。
特定のファイル名でキーペアを生成
ssh-keygen -f ~/.ssh/my_custom_key
デフォルトのパスではなく、別の名前でキーファイルを生成します。(例: ~/.ssh/my_custom_key)
既存キーのパスフレーズ変更
ssh-keygen -p -f ~/.ssh/id_rsa
既に生成された秘密鍵ファイルのパスフレーズを変更します。対話形式で既存のパスフレーズと新しいパスフレーズを入力します。
秘密鍵から公開鍵を抽出
ssh-keygen -y -f ~/.ssh/id_rsa
秘密鍵ファイル(id_rsa)から対応する公開鍵を抽出し、標準出力に表示します。この内容を`id_rsa.pub`ファイルに保存できます。
ヒントと注意点
SSHキーを安全かつ効率的に使用するためのヒントと注意点です。
パスフレーズの使用
秘密鍵にパスフレーズを設定すると、キーが漏洩した場合でも不正な使用を防ぐことができ、セキュリティが強化されます。`ssh-agent`と併用すると、毎回パスフレーズを入力する必要がなくなり便利です。
- **セキュリティ強化**: 秘密鍵の漏洩時に追加の保護を提供
- **利便性**: `ssh-agent`を活用して、一度の認証で複数のセッションで使用可能
キーファイルのパーミッション設定
秘密鍵ファイルは、必ず所有者のみが読み書きできるようにパーミッションを設定する必要があります。他のユーザーがアクセスできないように`chmod 600`を使用することが重要です。
- **秘密鍵**: `chmod 600 ~/.ssh/id_rsa`(所有者のみ読み取り/書き込み)
- **公開鍵**: `chmod 644 ~/.ssh/id_rsa.pub`(所有者読み取り/書き込み、グループ/その他読み取り)
推奨キータイプ
最新のセキュリティ標準のために、ED25519またはRSA 4096ビットキーの使用を推奨します。
- **ED25519**: より高速で安全、かつキーサイズが小さい
- **RSA 4096**: 広く互換性があり、依然として強力なセキュリティを提供