SSH-ADD (1)

OpenSSH-5.1p1 日本語マニュアルページ (2008/10/03)


名前

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

書式

ssh-add [-cDdLlXx ] [-t 鍵の生存時間 ] []

ssh-add -s reader

ssh-add -e reader


説明

ssh-add は認証エージェントであるssh-agent (1) に、RSA あるいは DSA の認証鍵を追加します。引数なしで実行された場合、これは~/.ssh/id_rsa ,~/.ssh/id_dsaおよび~/.ssh/identityの各ファイルを追加します。コマンドラインから別のファイル名を与えることもできます。パスフレーズが必要な場合、ssh-add はユーザにそれを尋ねます。このパスフレーズはユーザの端末から読み込まれます。複数の identity ファイルが指定された場合、ssh-add は最後に入力されたパスフレーズをくり返し使います。

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

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

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

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

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

-e reader
スマートカードreader から鍵を削除します。

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

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

-s reader
スマートカードreader に鍵を追加します。

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

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

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

環境変数

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

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

関連ファイル

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

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

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

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


診断

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

関連項目

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