スポンサーリンク

SSH-AGENT(1) FreeBSD 一般コマンドマニュアル SSH-AGENT(1)

名称

ssh-agent − 認証エージェント

書式

ssh-agent [−a bindするアドレス] [−c | −s] [−t 鍵のデフォルト生存時間] [−d] [コマンド [引数 ...]]

ssh-agent [−c | −s] −k

解説

ssh-agent は (RSA や DSA の) 公開鍵認証で使われる認証鍵を保持するプログラ ムです。基本的には、まず ssh-agent を X セッションあるいはログインセッ ションの始めに起動させ、これ以外のすべてのウィンドウやプログラムがその ssh-agent プログラムのクライアントとして起動するようにします。エージェン トは環境変数を使うことにより、他のマシンに ssh(1) を使ってログインすると きに自動的に検出され、認証に利用できます。

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

       −a bindするアドレス

Unix ドメインソケットを bind_address に bind するようにします。こ の値は、デフォルトでは /tmp/ssh-XXXXXXXX/agent.<ppid> になってい ます。

−c
標準出力に C シェル用のコマンドを出力します。環境変数 SHELL が csh 系のシェルになっているようなら、これがデフォルトになります。

−s
標準出力に Bourne シェル用のコマンドを出力します。環境変数 SHELL が csh 系以外のシェルのようなら、これがデフォルトです。

−k
現在動いている認証エージェント ( 環境変数 SSH_AGENT_PID によって 与えられている) を kill します。

−t 鍵のデフォルト生存時間
エージェントに追加された鍵の最大生存時間のデフォルト値を指定しま す。生存時間は秒数、あるいは sshd_config(5) で使われている形式で 指定できます。ですが、この値よりも ssh-add(1) で値が指定されれ ば、そちらのほうが優先されます。このオプションが指定されない場 合、いちど追加された鍵は永久に存在しつづけます。

−d
デバッグモード。このオプションが指定されていると ssh-agent は fork しません。

コマンドラインが与えられた場合、そのコマンドはこの認証エージェントの子プ ロセスとして起動されます。与えたコマンドが終了した場合、認証エージェント も終了します。

最初、認証エージェントは鍵をまったく持たない状態で起動されます。認証鍵を ここに追加するには ssh-add(1) を使います。これを引数なしで起動すると、 ssh-add(1)$HOME/.ssh/id_rsa, $HOME/.ssh/id_dsa および $HOME/.ssh/identity の各ファイルを追加します。この identity ファイルにパ スフレーズが必要な場合、 ssh-add(1) はそのパスフレーズを尋ねてきます (X11 を使っているときは、 ssh-add(1) は X のちょっとしたアプリケーションを使い ます。 X を使っていないときは端末を使って尋ねてきます)。この後、identity ファイルに含まれている認証鍵が認証エージェントに送られます。認証エージェ ントには複数の鍵を格納することができ、認証エージェントはこれらの鍵を自動 的に使用します。 ssh-add -l を実行すると、現在その認証エージェントによっ て保持されている鍵の一覧が表示されます。

認証エージェントは、ユーザのローカル PC やノートパソコン、あるいは端末で 実行されるものです。認証用のデータを他のマシンに置く必要はなく、認証のた めのパスフレーズがネットワーク上を流れることも決してありません。しかし認 証エージェントに対する接続は SSH のリモートログインを越えて転送され、ユー ザはその認証鍵によって与えられた権限をネットワーク上のどこでも安全に行使 できるというわけです。

認証エージェントを使うためには、おもに 2 つの方法があります。ひとつは、認 証エージェントが新しい子プロセスを走らせる方法で、このときエージェントは いくつかの環境変数を export します。もうひとつは認証エージェントにシェル 用のコマンドを出力させ (これは sh(1) あるいは csh(1) どちらかの文法で生成 されます)、認証エージェントを呼び出したシェルがそのコマンドを評価 (eval) する方法です (訳注: 要するに後のプロセスに環境変数を渡せればよい)。これ以 後 ssh(1) は認証エージェントに接続するためにこれらの変数の内容を使いま す。

エージェントは要求されたチャンネルを経由して秘密鍵を送るようなことは決し てしません。かわりに、秘密鍵が必要な操作はすべてエージェント側でおこな い、結果だけが要求した側に返されるようになっています。このためエージェン トを使うことによって秘密鍵がクライアントに漏れるようなことはありません。

Unix ドメインのソケットが作られ、そのソケットの名前が SSH_AUTH_SOCK 環境 変数に入れられます。このソケットはそのユーザのみがアクセス可能ですが、現 在のところ root または同一ユーザの別プロセスによって簡単に悪用される危険 性があります。

SSH_AGENT_PID 環境変数は認証エージェントの プロセス ID を保持します。

(訳注: 認証エージェントに子プロセスを起動させた場合) 指定したコマンドが終 了すると、認証エージェントも自動的に終了します。

関連ファイル

       $HOME/.ssh/identity

そのユーザがプロトコル バージョン 1 で使う RSA 秘密鍵が入っていま す。

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

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

/tmp/ssh-XXXXXXXX/agent.<ppid>
認証エージェントに対する接続を保持する Unix ドメイン のソケットで す。このソケットは、所有者だけが読めるようになっているはずです。 このソケットは認証エージェントが終了するとき自動的に削除されま す。

関連項目

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

日本語訳

新山 祐介 (yusuke at cs . nyu . edu) 2002/6/21 (for 3.3 p1)

当マニュアルページは氏のご好意により FreeBSD 向けに修正を加えて FreeBSD 日本語マニュアルに収録させていただいています。翻訳についてのご意見、ご指 摘がありましたら FreeBSD jpman プロジェクト ⟨man-jp@jp.FreeBSD.org⟩ また は新山氏 (yusuke at cs . nyu . edu) までお送りください。

FreeBSD 10.0 September 25, 1999 FreeBSD 10.0

スポンサーリンク