ssh-keygen-g3 — 認証鍵ペアのジェネレータ
ssh-keygen-g3 (Windows では ssh-keygen-g3.exe) は、SecureShell 用の認証鍵を生成および管理するためのツールです。SecureShell クライアントで公開鍵認証を使用したいと考えているユーザは、このツールを実行して認証鍵を作成できます。さらに、システム管理者はこのツールを使用して SecureShell サーバ用のホスト鍵を生成できます。
デフォルトでは、鍵ファイルのパスが指定されていない場合、鍵ペアはユーザのホーム ディレクトリ (UNIX では $HOME/.ssh2、Windows では「%APPDATA%\SSH\UserKeys」) に生成されます。ファイル名が指定されていない場合、鍵ペアは同様にユーザのホーム ディレクトリに、id_dsa_1024_a および id_dsa_1024_a.pub という名前で保存されます。
以下のオプションが利用可能です。
-1 file鍵ファイルを、SSH1 (SSH バージョン 1) から SSH2 (SSH バージョン 2) の形式に変換します。注意: 「1」は数字の 1 です (英字の L ではありません)。
-7 file証明書を PKCS #7 ファイルから抽出します。
-b bits生成される鍵の長さをビット単位で指定します。デフォルトでは 2048 ビットです。
-B num鍵の情報を表示するための基数を指定します。デフォルトでは 10 です。
-c comment生成される鍵のコメント文字列を指定します。
-D file公開鍵を、秘密鍵の file から派生して作成します。
-e file指定された鍵を編集します。ssh-keygen-g3 を対話的に実行します。鍵のパスフレーズまたはコメントを変更できます。
-F, --fingerprint file指定された公開鍵のフィンガープリントを出力します。デフォルトでは、フィンガープリントは容易に読み上げることができるように、「実在の」単語の文字列に似た SSH Babble 形式になります。出力形式は --fingerprint-type オプションによって変更できます。
次のオプションを使用して、このオプションの動作を変更することもできます。--fingerprint-type --hash, --hostkeys-directory, --known-hosts, --rfc4716
-F, --fingerprint <host id>指定された <host id> で識別される、ローカルに保存されたホスト鍵のフィンガープリントを出力します。<host id> は、ホスト名または「host#port」という文字列です。
次のオプションを使用して、このオプションの動作を変更することができます。--fingerprint-type, --hash, --hostkeys-directory, --known-hosts, --rfc4716
-H, --hostkey生成された鍵ペアを、デフォルトのホスト鍵のディレクトリに保存します。ディレクトリは、UNIX では /etc/ssh2、Windows では "C:\Program Files\SSH Communications Security\SSH Tectia\SSH Tectia Server" になります。-P オプションを指定すると、秘密鍵がパスフレーズが空の状態で保存されます。
-i file鍵 file を読み込み情報を表示します。
-k filePKCS #12 ファイルを SSH2 形式の証明書および秘密鍵に変換します。
-p passphrase生成される鍵のパスフレーズを指定します。
-P生成された鍵が、パスフレーズが空の状態で保存されるように指定します。
-q, --quiet鍵の生成中に進行状況インジケータを非表示にします。
-r fileエントロピーを file からランダム プールに追加します。file に「比較的ランダムな」、すなわち潜在的な攻撃者にとって予想できないデータが含まれている場合、プールのランダム性が向上します。適度なランダム性が、セキュアな鍵の生成では不可欠です。
-t [ dsa | rsa ]鍵の種類を選択します。利用可能なオプションは、デフォルトの dsa、および rsa です。
-x file秘密鍵を X.509 形式から SSH2 形式に変換します。
--append [ =yes | no ]鍵を付加します。オプションの値は yes および no です。デフォルト値は yes (付加する) です。
--copy-host-id <host id> <destination>ホスト ID を指定したコピー先ディレクトリにコピーします。
次のオプションを使用して、このオプションの動作を変更することができます。--append, --hostkeys-directory, --known-hosts, --overwrite
--hostkey-file を指定すると、ファイルは Connection Broker によって使用される通常のホスト ID ファイルとして扱われ、その内容がコピー先ディレクトリにコピーされます。
--delete-host-id <host id>指定したホスト ID のホスト鍵を削除します。<host id> は、ホスト名または「host#port」という文字列です。
次のオプションを使用して、このオプションの動作を変更することができます。--host-key-file, --hostkeys-directory, --known-hosts
--fingerprint-type [ =babble | babble-upper | pgp-2 | pgp-5 | hex | hex-upper ]
フィンガープリントの出力形式を指定します。このオプションを使用する場合は、-F オプションと鍵ファイル名が先に指定されなければなりません。デフォルトの形式は babble です。
このオプションの使用例の詳細については、例項を参照してください。
--fips-mode暗号化ライブラリに FIPS モードを使用して鍵を生成します。FIPS モードでは、1024 ビットの DSA 鍵、および少なくとも 512 ビットの RSA 鍵が生成されます。鍵には非空のパスフレーズが含まれている必要があります。このオプションが指定されていないデフォルトの状態では、鍵は暗号化ライブラリに標準モードを使用して生成されます。
--fips-crypto-dll-path PATHFIPS 暗号化 DLL の場所を指定します。
--hash [ =md5 | sha1 ]フィンガープリント生成用のダイジェスト アルゴリズムを指定します。有効なオプションは、md5 および sha1 です。
--hostkey-file fileコピーの際に、場所を自動検出せずに、指定されたファイルをソース ホスト鍵として使用します。削除の際は、指定した場所からの削除だけが行われます。指定したファイルに指定したホストの ID が含まれていない場合は何も行われません。
--hostkeys-directory directoryデフォルトの場所ではなく、使用する既知のホスト鍵のディレクトリを指定します。
--import-public-key infile outfile公開鍵を infile からインポートし、outfile へ SSH2 ネイティブ形式で保存します。
--import-private-key infile outfile暗号化されていない秘密鍵を infile からインポートし、outfile へ SSH2 ネイティブの秘密鍵形式で保存します。
--import-ssh1-authorized-keys infile outfileSSH1 スタイルの authorized_keys ファイルである infile をインポートして SSH2 スタイルの承認ファイル outfile を生成し、続いて infile の鍵を保存して outfile と同じディレクトリでファイルを生成します。
--known-hosts file指定した既知のホスト ファイルを使用します。OpenSSH スタイルの known-hosts ファイルに定義されているホストに対して、フィンガープリントの取得を有効にします。このオプションを使用すると、known_hosts ファイル (/etc/ssh/ssh_known_hosts および $HOME/.ssh/known_hosts) のデフォルトの場所が上書きされます。空の文字列を指定すると、known-hosts の使用が完全に無効になります。
--overwrite [ =yes | no ]
ファイルを同じファイル名で上書きします。デフォルトは上書きされる設定です。
--rfc4716RFC4716 に規定されている形式でフィンガープリントを表示します。ダイジェスト アルゴリズム (hash) は md5 で、出力形式は、コロン (:) で区切られた 16 進の小文字の 16 バイトの出力です。
--set-hostkey-owner-and-dacl fileWindows で、ホスト鍵 file 用に適切な所有者および DACL (随意アクセス制御リスト) を設定します。このオプションは SSH Tectia Server のインストール中、ホスト鍵を生成する際に内部的に使用されます。
-Vバージョン文字列を表示して終了します。
-h, --helpコマンドライン オプションの簡単な要約を表示して終了します。
1024 ビットの RSA 鍵のペアを暗号化ライブラリを使用して FIPS モードで作成し、鍵のペアをデフォルトのユーザ鍵ディレクトリに、newkey および newkey.pub というファイル名で保存します。
$ ssh-keygen-g3 --fips-mode -t rsa -b 1024 newkey
SSH1 鍵 oldkey を SSH2 形式に変換します。
$ ssh-keygen-g3 -1 oldkey
サーバのホスト公開鍵のフィンガープリントを表示します。デフォルトでは SSH Babble 形式です。
$ ssh-keygen-g3 -F hostkey.pub Fingerprint for key: xeneh-fyvam-sotaf-gutuv-rahih-kipod-poten-byfam-hufeh-tydym-syxex
サーバのホスト公開鍵のフィンガープリントを HEX 形式で表示します。
$ ssh-keygen-g3 -F hostkey.pub --fingerprint-type=hex Fingerprint for key: 25533b8c7734f6eb1556ea2ab4900d854d5d088c