ssh-keygen コマンド

目的

認証キーの生成、管理、および変換。

構文

ssh-keygen [ -q ] [ -b bits ] -t type [ -N new_passphrase ] [ -C comment ] [ -f output_keyfile ]

ssh-keygen -p [ -P old_passphrase ] [ -N new_passphrase ] [ -f keyfile ]

ssh-keygen -i [ -f input_keyfile ]

ssh-keygen -e [ -f input_keyfile ]

ssh-keygen -y [ -f input_keyfile ]

ssh-keygen -c [ -P passphrase ] [ -C comment ] [ -f keyfile ]

ssh-keygen -l [ -f input_keyfile ]

ssh-keygen -B [ -f input_keyfile ]

説明

ssh-keygen は、認証キーの生成、管理、および変換を行います。

ssh-keygen では、SSH プロトコル・バージョン 1 用の RSA 鍵および SSH プロトコル・バージョン 2 用の RSA 鍵または DSA 鍵を作成できます。生成する鍵のタイプは -t オプションで指定します。

また、Diffie-Hellman グループ交換 (DH-GEX) で使用するグループの生成にも、ssh-keygen を使用します。

ssh-keygen は、鍵を生成し、秘密鍵を保管するファイルを指定するように要求します。公開鍵を保管するファイルは、鍵と同じ名前ですが、.pub が追加されます。 ssh-keygen はパスフレーズも要求します。パスフレーズを空にして、パスフレーズがないことを指示できます (ホスト鍵は空のパスフレーズを持たなければなりません)。また、任意の長さの文字列を使用することもできます。パスフレーズはパスワードのようなものですが、一連のワード、句読点、数字、空白文字、または任意の文字列からなる句にすることができます。よいパスフレーズとは、10 〜 30 文字の長さで、単純な文ではなく、簡単に推測できないもので (英語の散文では 1 文字当たりのエントロピーが 1 〜 2 ビットにすぎないので、良質なパスフレーズは望めません)、大文字、小文字、数字、および非英数字が混ざったものです。パスフレーズは、後から -p オプションを使用して変更できます。

失われたパスフレーズを回復する手段はありません。パスフレーズを破損したり忘れたりした場合は、新しい鍵を生成して、別のマシンの対応する公開鍵にコピーする必要があります。

RSA1 鍵の場合、鍵ファイルにコメント・フィールドがあります。これは鍵の識別を助ける便宜上のものにすぎません。コメントには、鍵の目的など、役に立つ任意の情報を書くことができます。コメントは、鍵の作成時に user@host に初期化されますが、-c オプションを使用して変更できます。

フラグ

-b bits 作成する鍵の中のビット数を指定します。最小は 512 ビットです。一般に、1024 ビットで十分と考えられます。デフォルトは 1024 ビットです。
-c 秘密鍵ファイルおよび公開鍵ファイルのコメントを変更します。
-e OpenSSH を IETF SECSH 鍵ファイルに変換します。
-f filename 鍵ファイルのファイル名を指定します。
-i IETF SECSH を OpenSSH 鍵ファイルに変換します。
-l 指定された公開鍵ファイルの指紋を示します。秘密 RSA1 鍵もサポートされます。 RSA 鍵と DSA 鍵の場合、ssh-keygen は一致する公開鍵ファイルの検索を試み、その指紋を出力します。
-p 新しい秘密鍵を作成せずに、秘密鍵ファイルのパスフレーズの変更を要求します。
-q ssh-keygen を抑制します。
-y このオプションは、秘密 OpenSSH 形式のファイルを読み取り、OpenSSH 公開鍵を出力します。
-t type 作成する鍵のタイプを指定します。使用できる値は、次のとおりです。
  • rsa1 (プロトコル・バージョン 1 の場合)
  • rsa または dsa (プロトコル・バージョン 2 の場合)
-B 鍵の bubblebabble ダイジェストを示します。
-C comment 新しいコメントを指定します。
-N new_passphrase 新しいパスフレーズを指定します。
-P passphrase 古いパスフレーズを指定します。

関連情報

ssh-keyscan コマンド