SSH-KEYGEN (1)

OpenSSH-7.3p1 日本語マニュアルページ (2016/10/15)


名前

ssh-keygen
認証用の鍵を生成、管理、および変換する

書式

ssh-keygen [-q ] [-b ビット数 ] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N 新しいパスフレーズ ] [-C コメント (訳注:SSH1のみ)] [-f 出力先identityファイル ]

ssh-keygen -p [-P 古いパスフレーズ ] [-N 新しいパスフレーズ ] [-f パスフレーズを変更するidentityファイル ]

ssh-keygen -i [-m 鍵の形式 ] [-f 変換するidentityファイル ]

ssh-keygen -e [-m 鍵の形式 ] [-f 変換するidentityファイル ]

ssh-keygen -y [-f identityファイル ]

ssh-keygen -c [-P パスフレーズ ] [-C コメント ] [-f コメントを変更するidentityファイル ]

ssh-keygen -l [-v ] [-E 鍵の指紋ハッシュ ] [-f 指紋を表示するidentityファイル ]

ssh-keygen -B [-f ダイジェストを表示するidentityファイル ]

ssh-keygen -D pkcs11

ssh-keygen -F ホスト名 [-f known_hostsファイル ] [-l ]

ssh-keygen -H [-f known_hostsファイル ]

ssh-keygen -R ホスト名 [-f known_hostsファイル ]

ssh-keygen -r ホスト名 [-f 入力するidentityファイル ] [-g ]

ssh-keygen -G 出力ファイル [-v ] [-b ビット数 ] [-M 使用メモリ量 ] [-S 開始位置 ]

ssh-keygen -T 出力ファイル -f 入力ファイル [-v ] [-a ラウンド数 ] [-J 行数 ] [-j 開始行 ] [-K チェックポイント ] [-W ジェネレータ ]

ssh-keygen -s CA鍵 -I 証明書の秘密鍵 [-h ] [-n principal ] [-O オプション ] [-V 有効期間 ] [-z シリアル番号 ] file

ssh-keygen -L [-f 入力する鍵ファイル ] ssh-keygen -A ssh-keygen -k -f KRLファイル [-u ] [-s ca_public ] [-z version_number ] file ssh-keygen -Q -f KRLファイル file


説明

ssh-keygenssh (1) で認証に使う鍵を生成、管理および変換します。ssh-keygen は SSH プロトコル 1 および プロトコル 2 で使われる鍵を生成できます。SSH プロトコル 1 はもはや使うべきではなく、レガシーデバイスのサポートのみに提供されています。これには暗号上の弱点がいくつもあり、プロトコル 2 でサポートされるようないくつもの先進的な機能もサポートされていません。

生成する鍵の種類は-t オプションによって指定できます。この指定がない場合、ssh-keygen は SSH プロトコル 2 で使われる RSA 鍵を生成します。

ssh-keygen は Diffie-Hellman 群交換 (DH-GEX) で使われる群を生成するのにも使用します。詳しくは、係数 (modulus) の生成の項を参照してください。

最後に、ssh-keygen は鍵失効リスト (Key Revocation List, KRL) を生成したり、与えられた鍵は revoke されたものかどうかを検査するのに使うことができます。詳しくは、鍵失効リストを参照してください。

ふつう、公開鍵認証で SSH を使いたいユーザは、一度このプログラムを実行すれば~/.ssh/identity ,~/.ssh/id_dsa ,~/.ssh/id_ecdsa ,~/.ssh/id_ed25519または~/.ssh/id_rsaに鍵 (identity ファイル) を作ることができます。また/etc/rcなどで見られるように、システム管理者がホスト鍵を生成するためにこのプログラムを使うこともできます。

通常、このプログラムは鍵を生成したあと、その鍵 (identity) をどのファイルに格納すればよいのか尋ねます。公開鍵は、秘密鍵を含む identityファイルの名前に".pub"をつけた名前のファイルとして格納されます。またこのプログラムはパスフレーズも尋ねてきます。任意の長さの文字列をパスフレーズとして使用することができます。パスフレーズをつけないときには、これは空でもかまいません(ホスト鍵のパスフレーズは必ず空でなければいけません)。パスフレーズはパスワードに似ていますが、パスワードとは違って単語の列や句読点、数値、空白など、好きな文字を含めることができます。よいパスフレーズとは、10〜30 文字程度の長さで、簡単な文章や容易に推測できるものではないことです (英語の散文では 1 文字あたりのエントロピーはわずか 1〜2 ビットしかなく、パスフレーズとしては非常に望ましくありません)。また大文字と小文字が混じっているものがよいでしょう。パスフレーズは-p オプションによって、後から変更することもできます。

失われてしまったパスフレーズをもとに戻すことはできません。もしパスフレーズを忘れてしまったり、なくしてしまったときには、新しい鍵を生成してその公開鍵を別のマシンにコピーしなくてはならないでしょう。

RSA1 鍵 (訳注: SSH1 で使う鍵) および新しい OpenSSH 形式で格納される鍵の場合、鍵のファイルにはコメントフィールドがあります。これはユーザが鍵を区別するためだけに便宜的に用意されているものです(訳注: SSH2 の鍵にはコメントはありません)。コメントには鍵の用途やその他有用な情報を書いておくことができます。最初に鍵が作られるとき、コメントは"user@host"の形に初期化されますが、-c オプションを使えば変更することができます。

鍵を生成したあと、それを使用可能にするためにどこに置けばよいかは後で説明しています。

オプションには次のようなものがあります:

-A
鍵の各種類 (rsa1, rsa, dsa, ecdsa および ed25519) に対して、その種類のホスト鍵が存在しない場合には、空のパスフレーズとデフォルトのビット数、デフォルトのコメントをもつホスト鍵をデフォルトのパス名に生成します。これは/etc/rcが新しいホスト鍵を生成するときに使います。

-a ラウンド数
新しい形式の秘密鍵 (Ed25519 鍵や-o オプションを使ったときの SSH プロトコル 2 の鍵) を保存する場合、このオプションは KDF (key derivation function) ラウンドの数を指定します。大きな数値にするとパスワード検証にそれだけ時間がかかるようになり、(キーが盗まれたときの) 総当たりのパスワード推測をやりにくくします。

-T コマンドを使って DH-GEX 群の候補をスクリーニングする場合は、このオプションは素数判定テストをおこなう回数を指定します。

-B
指定された秘密鍵あるいは公開鍵ファイルの bubblebabble ダイジェストを表示します。

-b ビット数
生成する鍵のビット数を指定します。RSA 鍵の場合、最小のサイズは 1024 ビットであり、デフォルトは 2048 ビットです。ふつうは 2048 ビットの鍵で充分だと考えられています。DSA 鍵の場合、FIPS 186-2 の規定によりサイズは正確に 1024 ビットでなければなりません。ECDSA 鍵の場合、-b オプションは楕円曲線の大きさを次の3種類の中から選ぶことによって鍵の長さを指定します: 256、384 あるいは 521 ビット。これら以外の値を指定しようとした場合は失敗します。Ed25519 鍵は固定長であり、-b オプションは無視されます。

-C コメント
新しいコメントを追加します。

-c
秘密鍵ファイルおよび公開鍵ファイルのコメントを変更します。このオプションは プロトコル 1 における RSA1 鍵および新しい OpenSSH 形式で格納されている鍵に対してのみ有効です。まず秘密鍵の入っているファイル名を訊かれ、パスフレーズがあればそれを入力したあとに新しいコメントを入力します。

-D pkcs11
ここで指定する PKCS#11 共有ライブラリpkcs11 に格納されている RSA 公開鍵を読み込みます。-s と一緒に使用された場合、このオプションは CA 鍵が PKCS#11 トークン中に格納されていることを指定します。(詳しくは証明書のセクションをごらんください)

-E 鍵の指紋ハッシュ
鍵の指紋を表示するさいに使われるハッシュ関数のアルゴリズムを指定します。とりうる値は:"md5"または"sha256"です。デフォルトでは"sha256"になっています。

-e
このオプションは OpenSSH 形式の秘密鍵あるいは公開鍵ファイルを読み、-m オプションで指定された形式で標準出力に表示します。デフォルトの形式は"RFC4716"です。このオプションを使うと、OpenSSH の鍵をいくつかの商用 SSH 実装で使われている形式の鍵に変換できます。

-F ホスト名
指定されたホスト名known_hostsファイルの中から探し、見つかったものを一覧表示します。このオプションはハッシュされたホスト名あるいは IP アドレスを見つけるのに有用です。また、-H オプションと組み合わせてハッシュされた形式の公開鍵を表示するのにも使えます。

-f ファイル名
鍵を格納するファイル名を指定します。

-G 出力ファイル名
DH-GEX のための素数候補を生成します。これらの素数は安全性のため (-T オプションを使って) 実際の使用前にスクリーニングする必要があります。

-g
-r コマンドを使って指紋のレコードを表示する際に、Generic DNS 形式を使用します。

-H
known_hostsファイルをハッシュし、その結果を標準出力に表示します。これはすべてのホスト名および IP アドレスをハッシュされた表現で置き換え、そのファイルを更新します。古いファイルはサフィックス .old がついた名前で保存されます。ssh およびsshd は、これらのハッシュ表現を普通に扱うことができますが、これによって、たとえファイルの内容が見えても識別可能な情報が明らかになることはありません。このオプションはすでに存在するハッシュされたホスト名を修正することはしないため、ハッシュされた表現とハッシュされていない表現が混在したファイルに対してこのオプションを適用しても安全です。

-h
鍵に署名するさい、ユーザ証明書のかわりにホスト証明書を作成します。詳しくは、証明書のセクションをごらんください。

-I 証明書の秘密鍵
公開鍵に署名するさいに使用する鍵を指定します。詳しくは、証明書のセクションをごらんください。

-i
このオプションは、暗号化されていない秘密鍵 (あるいは公開鍵) ファイルを読み、それを OpenSSH 互換の秘密鍵 (あるいは公開鍵) に変換して標準出力に表示します。鍵の形式は-m オプションによって指定されます。このオプションを使うと、いくつかの商用 SSH 実装をふくむ他のソフトウェアから鍵を取り込むことができます。デフォルトの形式は"RFC4716"です。

-J 行数
-T オプションを使って DH 群交換のためのスクリーニングをするさい、ここで指定された行数のみを処理します。

-j 開始行
-T オプションを使って DH 群交換のためのスクリーニングをするさい、指定された行から処理を開始します。

-K チェックポイント
-T オプションを使って DH 群交換のためのスクリーニングをするさい、最後の行をチェックポイント に書き出します。このオプションは、ジョブが再開されたときにすでに処理されている入力ファイルの行をスキップするために使用されます。

-k
KRL ファイルを生成します。このモードでは、ssh-keygen-f オプションで指定された位置に KRL ファイルを生成します。これは、コマンドラインから指定されたすべての鍵または証明証を失効させます。失効させる鍵および証明書は公開鍵ファイルか、あるいは鍵失効リストの項で記述されている形式で指定できます。

-L
ひとつあるいは複数の証明書の内容を表示します。

-l
指定された秘密鍵ファイルあるいは公開鍵ファイルの指紋 (fingerprint) を表示します。プロトコル 1 におけるRSA 鍵 (RSA1) もサポートされています。プロトコル 2 の RSA および DSA 鍵の場合、ssh-keygen はそれに該当する公開鍵ファイルを探し出してその指紋を表示します。-v オプションがつけられた場合、その鍵の指紋を表現したアスキーアートも表示します。

-M メモリ
DH-GEX のモジュロとなる素数候補を生成する際のメモリ消費量を (メガバイト単位で) 指定します。

-m 鍵の形式
鍵を変換する-i オプション (import) あるいは-e オプション (export) で使われる鍵の形式を指定します。サポートされている形式は:"RFC4716"(RFC 4716/SSH2 の公開鍵あるいは秘密鍵)、"PKCS8"(PEM PKCS8 の公開鍵)あるいは"PEM"(PEM の公開鍵) です。デフォルトの形式は、"RFC4716"になっています。

-N 新しいパスフレーズ
新しいパスフレーズを指定します。

-n principal
鍵に署名する際に証明書に含める、ひとつあるいは複数のprincipal (ユーザまたはホスト名) を指定します。複数の principal を指定する場合はカンマで区切ります。詳しくは、証明書のセクションをごらんください。

-O オプション
鍵を署名する際に使う証明書のオプションを指定します。このオプションは複数回、指定することができます。詳しくは、証明書のセクションをごらんください。

ユーザ証明書に対して有効なオプション:

clear
すべての許可されたパーミッションを削除します。このオプションは、デフォルトで指定されているパーミッションを解除し、個別に指定するさいに使われます。

force-command =コマンド
この証明書を使って認証した際に、シェルやユーザが指定したコマンドではなく、ここで指定したコマンド を強制的に実行させます。

no-agent-forwarding
認証エージェントssh-agent (1) の転送を禁止します(デフォルトでは許可されています)。

no-port-forwarding
ポート転送を禁止します(デフォルトでは許可されています)。

no-pty
PTYの割り当てを禁止します(デフォルトでは許可されています)。

no-user-rc
sshd (8) による~/.ssh/rcの実行を禁止します。(デフォルトでは許可されています)。

no-x11-forwarding
X11転送を禁止します(デフォルトでは許可されています)。

permit-agent-forwarding
認証エージェントssh-agent (1) の転送を許可します。

permit-port-forwarding
ポート転送を許可します。

permit-pty
PTR の割り当てを許可します。

permit-user-rc
sshd (8) による~/.ssh/rcの実行を許可します。

permit-x11-forwarding
X11転送を許可します。

source-address =アドレス一覧
この証明書が有効であると判断される接続元アドレスを制限します。アドレス一覧 には、カンマで区切られたひとつあるいは複数の address/netmask 対をCIDR形式で記述します。

現在のところ、ホスト鍵に対して有効なオプションはありません。

-o
ssh-keygen が新しい OpenSSH 形式での秘密鍵を保存するさいに、互換性の高い PEM 形式ではなく、OpenSSH 独自の新形式を利用します。この新しい形式は、総当たりによるパスワード推測をやりにくくしますが、バージョン 6.5 以前の OpenSSH ではサポートされていません。Ed25519 鍵はつねにこの新しい形式で保存されます。

-P パスフレーズ
(古い) パスフレーズを指定します。

-p
新しく秘密鍵をつくるのではなく、すでにある秘密鍵ファイルのパスフレーズを変更します。まず秘密鍵の入っているファイルを訊かれ、古いパスフレーズを入力したあと、新しいパスワードを 2 回入力します。

-Q
鍵が KRL で失効したものとして指定されているかどうかを検査します。

-q
静かなssh-keygen

-R ホスト名
known_hostsファイルから、指定されたホスト名 に属する鍵をすべて取り除きます。このオプションはハッシュされたホスト (上記の-H オプションを参照) をファイルから取り除くのに有用です。

-r ホスト名
指定された公開鍵に対するホスト名 の SSHFP fingerprint 資源レコードを表示します。

-S 開始点
DH-GEX のモジュロとなる素数候補を生成する際の開始点を (16 進で) 指定します。

-s CA鍵
指定された CAの鍵を用いて公開鍵に署名 (証明) します。詳しくは、証明書のセクションをごらんください。

KRL を生成する場合、失効させる証明書の鍵IDまたはシリアル番号を直接指定する場合は、-s で CA の公開鍵へのパス名を指定します。詳しくは、鍵失効リストをご覧ください。

-T 出力ファイル
(-G オプションで生成された) DH 群交換のための素数候補に対して、安全性の試験をおこないます。

-t dsa | ecdsa | ed25519 | rsa | rsa1
生成する鍵の種類を指定します。とりうる値として、プロトコル 1 で使う"rsa1"、およびプロトコル 2 で使う"dsa ,""ecdsa ,""ed25519"または"rsa"があります。

-u
KRL を更新します。-k オプションと組み合わせて使用すると、新規に KRL を作成するのではなく、コマンドラインで指定された鍵が既存の KRL に追加されます。

-V 有効期間
証明書に署名するときの有効期間を指定します。有効期間には単一の日時が指定されていることがあり、この場合、その証明書が現在からある特定の日時まで有効であることを示しています。また、有効期間としてコロンで区切った2つの時刻が指定されている場合、これらは証明書が有効な開始時刻と終了時刻を示しています。開始日時は YYYYMMDD の形式で日付だけを示すか、YYYYMMDDHHMMSS の形式で日付と時刻を示すことができます。あるいは、マイナス記号をつけた (現在からの)相対的な日時を指定することもできます。この場合はsshd_config (5) の「時間の表現」で解説されている形式にしたがいます。終了日時は YYYYMMDD の日付、 YYYYMMDDHHMMSS の時刻、あるいはプラス記号をつけた相対日時を指定することができます。

例:"+52w1d"(現在から 52週間と 1日間のあいだ有効)"-4w:+4w"(4週間前から4週間後まで有効)"20100101123000:20110101123000"(2010年1月1日 午後12時30分から、2011年1月1日 午後12時30分まで有効)"-1d:20110101"(昨日から2011年1月1日の午前0時まで有効)

-v
冗長表示モード。ssh-keygen が進行中のデバッグメッセージを表示するようにします。これはモジュロ生成のデバッグ時に役立ちます。複数の-v オプションをつけると出力が増えます。最大は 3 個です。

-W ジェネレータ
DH-GEX 用の素数候補を検査するときのジェネレータを指定します。

-y
このオプションは OpenSSH 形式の秘密鍵ファイルを読み、OpenSSH 形式の公開鍵を標準出力に表示します。

-z シリアル番号
証明書に埋めこむシリアル番号を指定します。これは、同一の CA から発行された複数の証明書を区別するのに使います。デフォルトでは、シリアル番号はゼロになります。

KRL を生成する場合、-z は KRL のバージョン番号を指定するのに使われます。


係数 (modulus) の生成

ssh-keygen は、Diffie-Hellman 群交換 (Diffie-Hellman Group Exchange, DH-GEX) のための群を生成するのにも使うことができます。この群を生成するには、2 つの段階をふむ必要があります:まず、素数の候補が生成されます。これは高速ですが、メモリを消費します。つぎにこれらの候補が適切かどうか検査されます (このときは CPU 時間を消費します)。

この素数の生成は-G オプションによっておこなえます。必要な素数の長さは、-b オプションで指定することができます。たとえば:

# ssh-keygen-Gmoduli-2048.candidates-b2048

デフォルトでは、素数の探索は指定された長さの区間でランダムに選ばれた位置から開始されます。この開始位置は-S オプションによって変更することができます。

候補となる素数の集合が生成されたあとに、そこから適切なものをスクリーニングする必要があります。これは-T オプションを使っておこなえます。この場合、ssh-keygen は標準入力 (あるいは-f オプションで指定したファイル) から候補を読み込みます。たとえば:

# ssh-keygen-Tmoduli-2048-fmoduli-2048.candidates

デフォルトでは、候補となる各素数は 100回の素数判定テストにかけられます。この回数は、-a オプションによって変更することができます。DH ジェネレータの値は探索中の素数のために自動的に選ばれます。特定のジェネレータが必要な場合は、-W オプションによって指定することができます。許されるジェネレータの値は 2、3 あるいは 5 です。

最終的にスクリーニングされた DH 群は/etc/moduliにインストールすることができます。注意: このファイルはある範囲のビット長の係数 (modulus) を格納しており、この数は 2つの通信端点間で同じものである必要があります。


証明書

ssh-keygen は、鍵に署名する機能をサポートしています。これによって、ユーザあるいはホスト認証時に使うことのできる証明書を生成することができます。証明書は、以下のものからなっています:公開鍵、なんらかの識別情報、0個以上の principal名(ユーザまたはホスト名)、およびオプションの集合が、認証局 (Certification Authority, CA) の鍵によって電子署名されます。このようにすることで、クライアントやサーバは沢山のユーザ鍵やホスト鍵をすべて信頼しなくても、証明書を検証する際の CA 鍵だけを信頼すればよいことになります。注意: OpenSSH の証明書は、ssl (8) で使われている X.509 形式の証明書とはまったく異なる、かなりシンプルな形式になっています。

ssh-keygen では、2種類の証明書をサポートしています:ユーザ証明書とホスト証明書です。ユーザ証明書は、サーバに対してユーザを認証します。これに対してホスト証明書は、サーバに対してホストを認証します。ユーザ証明書を生成する方法:

$ ssh-keygen-s/path/to/ca_key-Ikey_id/path/to/user_key.pub

生成された証明書は、/path/to/user_key-cert.pubに置かれます。ホスト証明書を作る際には、-h オプションが必要です:

$ ssh-keygen-s/path/to/ca_key-Ikey_id-h/path/to/host_key.pub

生成されたホスト証明書は、/path/to/host_key-cert.pubに置かれます。

-D オプションを使って、トークンのライブラリを指定することでPKCS#11 トークン中に格納された CA鍵に署名することも可能です。このさい、CA鍵の公開部を-s 引数で指定します:

$ ssh-keygen-sca_key.pub-Dlibpkcs11.so-Ikey_iduser_key.pub

いずれの場合も、key_id は「鍵識別子」を表しており、これはその証明書が認証に使われた際にはサーバ側にログとして残ります。

証明書は、ある特定の principal (ユーザあるいはホスト) に対してのみ有効なように制限することもできます。デフォルトでは、生成された証明書はすべてのユーザおよびホストに対して有効です。特定の principal のみに有効な証明書を作るには:

$ ssh-keygen-sca_key-Ikey_id-nuser1,user2user_key.pub
$ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub

ユーザ証明書のこれ以外の有効性や使用条件に関する制限は、証明書につけたオプションによって指定できます。証明書のオプションを使うと、SSHセッション時に特定の機能を禁止できたり、特定の接続元から提示したときのみ有効であるように設定できたり、また特定のコマンドのみを実行させたり、といったことができます。有効な証明書オプションについては、-O オプションに関する上記の解説を参考にしてください。

最後に、証明書には有効期間を定めることができます。-V オプションを使うと、証明書の開始日時と終了日時を指定できます。この範囲を過ぎてから提示された証明書は、無効とみなされます。デフォルトでは、証明書はUnixEpoch から遠い将来まで有効になっています。

ユーザあるいはホスト認証時に使われる鍵と、CA の公開鍵はsshd (8) またはssh (1) によって信頼されている必要があります。詳しくはこれらのコマンドのマニュアルページを参照してください。


鍵失効リスト (Key Revocation List)

ssh-keygen には OpenSSH 形式の鍵失効リスト (Key Revocation List, KRL) を管理する機能があります。これらバイナリ形式のファイルは、失効させる (revoke する) 鍵あるいは証明書をコンパクトな形式で指定するもので、シリアル番号によって証明書を失効させる場合、ひとつの証明書につきわずか 1ビットほどしか使用しません。

KRL は-k オプションで生成することができます。このオプションはコマンドラインから指定されたひとつ以上のファイルを読み込み、新しい KRL を生成します。このファイルには 1行にひとつずつ KRL 指定 (以下を参照) または公開鍵が格納されています。普通の公開鍵は、そのハッシュ値または中身を KRL 中で指定し、証明書の場合はシリアル番号または (シリアル番号がゼロまたは不明な場合)鍵 ID で指定します。

KRL 指定による鍵の失効では、鍵の失効に使うレコードの種類を明示的に指定でき、もとの完全な証明書がなくても、シリアル番号または鍵 ID によって証明書を直接失効させるのに使うことができます。KRL では、各行ごとに以下の形式のうちいずれかを、それ用の情報とともにコロンで区切って指定します。

serial : Ar シリアル番号 Ns Op - Ns Ar シリアル番号
指定されたシリアル番号の証明書を失効させます。シリアル番号はゼロ以外の 64ビットの値で、10進、16進または 8進数で指定することができます。2個のシリアル番号がハイフンで区切って指定された場合、それはシリアル番号の範囲を表し、その間の証明書がすべて失効されます。CA の鍵は、ssh-keygen コマンドラインから-s オプションを使って指定する必要があります。

id : Ar 鍵ID
指定された鍵 ID 文字列をもつ証明書を失効させます。CA の鍵は、ssh-keygen コマンドラインから-s オプションを使って指定する必要があります。

key : Ar 公開鍵
指定した鍵を失効させます。証明書が指定された場合、これは通常の公開鍵として失効されます。

sha1 : Ar 公開鍵
SHA1ハッシュで指定した鍵を失効させます。

KRL は-k オプションに加えて、-u オプションで更新することができます。このオプションが指定された場合、コマンドラインで指定された鍵がKRL にマージされ、すでにある鍵に追加されます。

KRL を指定して、ある鍵が失効されているかどうかを検査することも可能です。-Q オプションは、すでに存在する KRL に対して、コマンドラインから指定された各鍵を検査します。もしコマンドライン中のいずれかの鍵が失効している場合 (あるいはエラーの場合)ssh-keygen はゼロ以外の終了状態を返します。終了状態ゼロは、どの鍵も失効していない場合にのみ返されます。


関連ファイル

~/.ssh/identity
そのユーザの、プロトコル 1 におけるRSA 認証用の秘密鍵を格納します。このファイルはそのユーザ以外の誰にも見せてはいけません。この鍵を生成するときにパスフレーズを指定することもできます。パスフレーズは、3DES を使ってファイル中の秘密鍵の部分を暗号化するのに用いられます。このファイルはssh-keygen によって自動的にアクセスされるわけではありませんが、秘密鍵ファイルのデフォルトの名前としてこれが提案されます。ssh (1) はログイン要求があった際にこのファイルを読み込みます。

~/.ssh/identity.pub
プロトコル 1 における RSA 認証用の公開鍵を格納します。そのユーザが RSA 認証でログインしたいすべてのマシンの~/.ssh/authorized_keysにこのファイルの内容を追加しておいてください。このファイルの内容を秘密にしておく必要はありません。

~/.ssh/id_dsa

~/.ssh/id_ecdsa

~/.ssh/id_ed25519

~/.ssh/id_rsa
そのユーザの、プロトコル 2 におけるDSA、ECDSA、Ed25519 あるいは RSA 認証用の秘密鍵を格納します。このファイルはそのユーザ以外の誰にも見せてはいけません。この鍵を生成するときにパスフレーズを指定することもできます。パスフレーズは、128-bit AES を使ってファイル中の秘密鍵の部分を暗号化するのに用いられます。このファイルはssh-keygen によって自動的にアクセスされるわけではありませんが、秘密鍵ファイルのデフォルトの名前としてこれが提案されます。ssh (1) はログイン要求があった際にこのファイルを読み込みます。

~/.ssh/id_dsa.pub

~/.ssh/id_ecdsa.pub

~/.ssh/id_ed25519.pub

~/.ssh/id_rsa.pub
プロトコル 2 におけるDSA、ECDSA、Ed25519 あるいは RSA 認証用の公開鍵を格納します。そのユーザが RSA 認証でログインしたいすべてのマシンの~/.ssh/authorized_keysにこのファイルの内容を追加しておいてください。このファイルの内容を秘密にしておく必要はありません。

/etc/moduli
DH-GEX で使われる Diffie-Hellman 群を格納します。このファイル形式については、moduli (5) を参照してください。

関連項目

ssh (1), ssh-add (1), ssh-agent (1), moduli (5), sshd (8)

作者

OpenSSH は Tatu Ylonen による、フリーなオリジナル版 ssh 1.2.12 リリースから派生したものです。Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、Theo de Raadt および Dug Song が多くのバグを取り除き、新しい機能をふたたび追加して OpenSSH をつくりました。SSH プロトコル 1.5 および 2.0 のサポートはMarkus Friedl の貢献によるものです。