/usr/bin/ssh-add

From Azupedia
Revision as of 13:21, 3 December 2022 by imported>Fire (EXIT STATUS)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ssh-add — OpenSSH 認証エージェントに秘密鍵の ID を追加する。

SYNOPSIS

    ssh-add [-cDdKkLlqvXx] [-E fingerprint_hash] [-S provider] [-t life] [file ...]
    ssh-add -s pkcs11
    ssh-add -e pkcs11
    ssh-add -T pubkey ...

DESCRIPTION

ssh-add は、認証エージェントである ssh-agent に秘密鍵の ID を追加する。引数なしで実行すると、 ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519, ~/.ssh/id_ed25519_sk というファイルが追加される。秘密鍵を読み込んだ後、ssh-add は、秘密鍵ファイルの名前に -cert.pub を付加して取得したファイル名から、対応する証明書情報を読み込もうとする。コマンドラインで別のファイル名を指定することもできる。

パスフレーズを必要とするファイルがある場合、ssh-add はユーザにパスフレーズの入力を要求する。ssh-add は、複数の ID ファイルが指定された場合、最後のパスフレーズを再試行する。

ssh-add が動作するには、認証エージェントが実行されており、SSH_AUTH_SOCK 環境変数にそのソケットの名前が含まれている必要がある。

オプションは以下のとおり:

-c
追加された ID は、認証に使用する前に確認する必要があることを示す。確認は ssh-askpass によって行われる。 確認が成功すると、リクエスタに入力されたテキストではなく、 ssh-askpass の終了ステータスが 0 になることで通知される。
-D
エージェントからすべてのIDを削除する。
-d
ID を追加する代わりに、エージェントから ID を削除する。 ssh-add が引数なしで実行された場合、既定の ID 用の鍵およびそれに対応する証明書が削除される。 それ以外の場合は、引数リストが、エージェントから削除する鍵および証明書を指定する公開 鍵ファイルへのパスのリストとして解釈される。 指定されたパスに公開鍵が見つからない場合は、ssh-add によって .pub が追加され、再試行される。 引数リストが '-' で構成されている場合、ssh-add は、削除する公開鍵を標準入力から読み取る。
-E fingerprint_hash
鍵のfingerprintを表示する際に使用するハッシュアルゴリズムを指定する。 有効なオプションは "md5" および "sha256" である。 デフォルトは "sha256 "である。
-e pkcs11
PKCS#11のシェアードライブラリ pkcs11によって提供される鍵を取り除く。
-K
FIDO認証機から常駐鍵を読み込む。
-k
鍵をエージェントに読み込むとき、または鍵から削除するときは、プレーンな秘密鍵のみを処理し、証明書をスキップする。
-L
現在エージェントが表すすべての ID の公開鍵パラメータを一覧表示する。
-l
現在エージェントに表されているすべての ID の指紋を一覧表示する。
-q
操作に成功した後、静止する。
-S provider
FIDO認証ホスト鍵を追加する際に使用するライブラリへのパスを指定し、内部USB HIDサポートを使用するデフォルトを上書きする。
-s pkcs11
PKCS#11のシェアードライブラリ pkcs11によって提供される鍵を追加する。
-T pubkey ...
指定された pubkey ファイルに対応する秘密鍵が使用可能かどうかを、それぞれに対して署名と検証の操作を実行することによってテストする。
-t life
エージェントに ID を追加する際の最大有効期間を設定する。 有効期限は秒単位で指定するか、または sshd_config で指定される時間形式で指定する。
-v
冗長モード。 ssh-add の進行状況についてデバッグメッセージを表示する。 これは、問題のデバッグに役立つ。 複数の -v オプションを使用すると、冗長性が高まる。 最大値は 3 である。
-X
エージェントのロックを解除する。
-x
エージェントをパスワードでロックする。

ENVIRONMENT

DISPLAY, SSH_ASKPASS and SSH_ASKPASS_REQUIRE
ssh-add がパスフレーズを必要とする場合、それが端末から実行されたのであれば、 現在の端末からパスフレーズを読み取る。 ssh-add に端末が関連付けられておらず、DISPLAY と SSH_ASKPASS が設定されている場合、SSH_ASKPASS で指定されたプログラム (デフォルトでは "ssh-askpass") を実行し、X11 ウィンドウを開いてパスフレーズを読み取ろうとする。 これは特に .xsession やそれに関連するスクリプトから ssh-add を呼び出すときに便利である。
SSH_ASKPASS_REQUIRE は、askpass プログラムの使用をさらに制御できるようにする。 この変数が "never" に設定されている場合、 ssh-add は決してこれを使おうとはしない。 この変数が "prefer" に設定されている場合、 ssh-add は、パスワードを要求するときに、TTYの代わりに askpass プログラムを使用するようにする。 最後に、この変数が "force" に設定されると、DISPLAY が設定されているかどうかに関係なく、すべてのパスフレーズの入力に askpass プログラムが使用されるようになる。
SSH_AUTH_SOCK
エージェントとの通信に使用する UNIX ドメインソケットのパスを指定する。
SSH_SK_PROVIDER
FIDO認証ホスト鍵を読み込む際に使用するライブラリへのパスを指定し、内蔵のUSB HIDサポートを使用するデフォルトをオーバーライドする。

FILES

~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/id_ecdsa_sk
~/.ssh/id_ed25519
~/.ssh/id_ed25519_sk
~/.ssh/id_rsa
ユーザのDSA、ECDSA、authenticator-hosted ECDSA、Ed25519、authenticator-hosted Ed25519、RSA認証のIDが格納されている。
ID ファイルは、ユーザ以外が読めないようにする必要がある。ssh-add は、ID ファイルが他者からアクセス可能な場合、それを無視することに注意。

EXIT STATUS

終了ステータスは、成功した場合は 0、指定したコマンドが失敗した場合は 1、ssh-add が認証エージェントに連絡できない場合は 2 となる。

SEE ALSO

ssh, ssh-agent, ssh-askpass, ssh-keygen, sshd

AUTHORS

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

External Link