ssh-keygen コマンドは、SSH 接続に利用する公開鍵・秘密鍵ペアを生成・管理するためのコマンドです。
パスワードなしのログインや、GitHub/GitLab などのサービス認証に広く使われます。
構文(Syntax)
ssh-keygen [オプション]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 対話的に新しい鍵ペアを生成(デフォルト: ~/.ssh/id_rsa) | ssh-keygen |
-t <type> | 鍵の種類を指定(rsa, ed25519, ecdsa など) | ssh-keygen -t ed25519 |
-b <bits> | 鍵長を指定(RSA の場合 2048 以上推奨) | ssh-keygen -t rsa -b 4096 |
-f <file> | 出力ファイル名を指定 | ssh-keygen -f ~/.ssh/mykey |
-C <comment> | コメント(メールアドレスなど)を追加 | ssh-keygen -t ed25519 -C "me@example.com" |
-N <passphrase> | パスフレーズを設定 | ssh-keygen -N "mypassword" |
-y | 秘密鍵から公開鍵を出力 | ssh-keygen -y -f ~/.ssh/id_rsa |
-l | 公開鍵のフィンガープリントを表示 | ssh-keygen -l -f ~/.ssh/id_rsa.pub |
-e | OpenSSH ↔︎ RFC4716 形式に変換 | ssh-keygen -e -f id_rsa.pub |
-p | 既存の秘密鍵のパスフレーズを変更 | ssh-keygen -p -f ~/.ssh/id_rsa |
実行例
新しい RSA 鍵を作成
ssh-keygen -t rsa -b 4096 -C "me@example.com"
出力例(対話式):
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Ed25519 鍵を作成(推奨)
ssh-keygen -t ed25519 -C "me@example.com"
出力ファイル名を指定して作成
ssh-keygen -t rsa -b 2048 -f ~/.ssh/mykey
秘密鍵から公開鍵を出力
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
公開鍵のフィンガープリントを確認
ssh-keygen -l -f ~/.ssh/id_rsa.pub
出力例:
4096 SHA256:abcd1234... me@example.com (RSA)
秘密鍵のパスフレーズを変更
ssh-keygen -p -f ~/.ssh/id_rsa
エラー例(存在しない鍵ファイル)
ssh-keygen -y -f ~/.ssh/notfound
出力例:
load failed
関連コマンド
ssh: SSH 接続を行うコマンド。ssh-copy-id: 公開鍵をリモートサーバーにコピーする。ssh-agent: 秘密鍵をキャッシュして再入力を省略する。
備考
- 鍵の種類の推奨順:
ed25519>ecdsa>rsa。 - 公開鍵は
~/.ssh/id_xxx.pub、秘密鍵は~/.ssh/id_xxxに保存される。 - GitHub/GitLab などで利用する場合、公開鍵 (
.pub) をサービスに登録する。

コメント