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
file
PKCS #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
PATH
FIPS 暗号化 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
outfile
SSH1 スタイルの 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
]
ファイルを同じファイル名で上書きします。デフォルトは上書きされる設定です。
--rfc4716
RFC4716 に規定されている形式でフィンガープリントを表示します。ダイジェスト アルゴリズム (hash) は md5 で、出力形式は、コロン (:) で区切られた 16 進の小文字の 16 バイトの出力です。
--set-hostkey-owner-and-dacl
file
Windows で、ホスト鍵 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