SSH-ADD (1)

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


名前

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

書式

ssh-add [-cDdkLlXx ] [-E 鍵の指紋ハッシュ ] [-t 鍵の生存時間 ] [file ]

ssh-add -s pkcs11

ssh-add -e pkcs11


説明

ssh-add は認証エージェントであるssh-agent (1) に、秘密鍵を追加します。引数なしで実行された場合、これは~/.ssh/id_rsa ,~/.ssh/id_dsa ,~/.ssh/id_ecdsa ,~/.ssh/id_ed25519および~/.ssh/identityの各ファイルを追加します。秘密鍵を読み込んだあと、ssh-add はそれに対応する証明書情報を、秘密鍵のファイル名にサフィックス-cert.pubを追加したファイルから読み込もうとします。コマンドラインから別のファイル名を与えることもできます。

パスフレーズが必要な場合、ssh-add はユーザにそれを尋ねます。このパスフレーズはユーザの端末から読み込まれます。複数の identity ファイルが指定された場合、ssh-add は最後に入力されたパスフレーズをくり返し使います。

ssh-add がうまく動くためには、認証エージェントが動いていて、環境変数SSH_AUTH_SOCK が認証エージェント用のソケット名を指していなければなりません。

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

-c
追加された鍵を、認証に使う前に確認するよう指定します。この確認は、ssh-askpass (1) プログラムによっておこなわれます。確認の成功は、ssh-askpass (1) プログラムに入力された文字列ではなく、これが終了状態として 0 を返したかどうかによって決定されます。

-D
エージェントからすべての鍵を取り除きます。

-d
鍵を追加するのではなく、エージェントから鍵を取り除きます。ssh-add が他の引数なしで起動された場合、デフォルトの鍵とそれに対応する証明書が除かれます。引数がある場合、これらの引数のリストは除去する各公開鍵ファイルへのパス名とみなされ、一致する鍵と証明書が除かれます。与えられたパス名に公開鍵ファイルが見つからない場合、ssh-add は自動的に文字列.pubを追加して検索します。

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

-e pkcs11
PKCS#11共有ライブラリpkcs11 によって提供される鍵を削除します。

-k
エージェントに鍵を追加または削除するとき、普通の秘密鍵のみを処理し、証明書をスキップします。

-L
現在、エージェントによって保持されているすべての公開鍵の情報を表示します。

-l
現在、エージェントによって保持されているすべての鍵の指紋(fingerprint) を表示します。

-s pkcs11
PKCS#11共有ライブラリpkcs11 に鍵を追加します。

-t 鍵の生存時間
エージェントに鍵を追加する際、その鍵の最大生存時間を指定します。生存時間は秒数、あるいはsshd_config (5) で使われている形式で指定できます。

-X
エージェントのロックをはずします。

-x
エージェントをパスワードでロックします。

環境変数

DISPLAY andSSH_ASKPASS
ssh-add は端末で走っている場合、パスフレーズが必要になるとその端末からパスフレーズを読み込みます。ssh-add の使える端末がないときでも、環境変数DISPLAYSSH_ASKPASS が設定されていれば、ssh-addSSH_ASKPASS で指定されたプログラム(デフォルトでは"ssh-askpass )"を立ち上げ、パスフレーズを読むためのX11 ウインドウを開きます。これは特にssh-add.xsessionなどのスクリプトから走らせるときに有効です(機種によっては、これがうまく動作するためには入力を/dev/nullにリダイレクトしておく必要があるかもしれません)。

SSH_AUTH_SOCK
エージェントと通信するためのUnixソケットへのパス名が入っています。

関連ファイル

~/.ssh/identity
そのユーザがプロトコル 1 で使用するRSA 認証用の秘密鍵が入っています。

~/.ssh/id_dsa
そのユーザがプロトコル 2 で使用するDSA 認証用の秘密鍵が入っています。

~/.ssh/id_ecdsa
そのユーザがプロトコル 2 で使用するECDSA 認証用の秘密鍵が入っています。

~/.ssh/id_ed25519
そのユーザがプロトコル 2 で使用するEd25519 認証用の秘密鍵が入っています。

~/.ssh/id_rsa
そのユーザがプロトコル 2 で使用するRSA 認証用の秘密鍵が入っています。

秘密鍵の入ったファイルは本人以外の誰にも読まれてはいけません。他人から読めるようになっていると、ssh-add はこのファイルを無視します。


終了状態

ssh-add は、成功すると終了状態として 0 を、指定されたコマンドが失敗すると 1 を、認証エージェントと通信できない場合は 2 を返します。

関連項目

ssh (1), ssh-agent (1), ssh-askpass (1), ssh-keygen (1), 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 の貢献によるものです。