.\" $OpenBSD: ssh-agent.1,v 1.16 2000/09/07 20:27:54 deraadt Exp $ .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD% .\" $FreeBSD: doc/ja_JP.eucJP/man/man1/ssh-agent.1,v 1.2 2001/04/30 02:07:02 horikawa Exp $ .\" .Dd September 25, 1999 .Dt SSH-AGENT 1 .Os .Sh 名称 .Nm ssh-agent .Nd 認証エージェント .Sh 書式 .Nm ssh-agent .Op Fl c Li | Fl s .Op Fl k .Oo .Ar コマンド .Op Ar 引数 ... .Oc .Sh 解説 .Nm は (RSA や DSA の) 公開鍵認証で使われる秘密鍵を保持する プログラムです。基本的には、まず .Nm が Xセッションあるいはログインセッションの始めに起動し、 これ以外のすべてのウインドウやプログラムがその ssh-agent プログラムのクライアントとして起動されるようにします。 環境変数を経由することにより、 .Xr ssh 1 を使って他のマシンにログインするとき このエージェントが自動的に検出され、認証に使用されます。 .Pp オプションには次のようなものがあります: .Bl -tag -width Ds .It Fl c .Dv 標準出力 に C シェル用のコマンドを出力します。 .Ev SHELL 環境変数が csh スタイルのシェルになっているようなら、 これがデフォルトになります。 .It Fl s .Dv 標準出力 に Bourne シェル用のコマンドを出力します。 .Ev SHELL 環境変数が csh スタイル以外のシェルのようなら、これがデフォルトです。 .It Fl k 現在のエージェント ( .Ev SSH_AGENT_PID 環境変数によって与えられている) を kill します。 .El .Pp コマンドラインが与えられた場合、それがこのエージェントの子プロセスとして 実行されます。与えたコマンドが終了した場合、エージェントも終了します。 .Pp 最初エージェントは秘密鍵をまったく持たない状態で起動されます。 秘密鍵をここに追加するには .Xr ssh-add 1 を使います。これを引数なしで起動すると、 .Xr ssh-add 1 は .Pa $HOME/.ssh/identity ファイルを追加します。その identity ファイルにパスフレーズが必要な場合、 .Xr ssh-add 1 はそれを尋ねてきます (これは、X11 を使っているときには X11 のちょっとしたアプリケーションを 使って、X を使っていないときは端末を使って尋ねてきます)。 こうすると identity がエージェントに送られます。 エージェントには複数の identity を格納することができ、 エージェントはこれらの identity を自動的に使用します。 .Ic ssh-add -l を実行すると現在エージェントによって保持されている identity が表示されます。 .Pp エージェントは、ユーザのローカル PC やノートパソコン、あるいは端末で 実行されるものです。認証用のデータを他のマシンに置く必要はなく、 認証のためのパスフレーズがネットワーク上を流れることも決してありません。 しかしこのエージェントに対する接続は SSH のリモートログインを越えて 転送され、ユーザはその identity によって与えられた権限をネットワーク上の どこでも安全に行使できるというわけです。 .Pp エージェントを使い始めるためには、おもに 2つの方法があります。 ひとつめは、新しい子プロセスをいくつかの環境変数が export された 状態でエージェントに走らせる方法。もうひとつはエージェントに必要な シェル用のコマンドを出力させ (これは .Xr sh 1 か .Xr csh 1 どちらかの文法で生成されます)、 それを呼び出したシェルでそのコマンドを評価 (eval) させる方法です。これ以後 .Xr ssh 1 はこれらの変数を見て、エージェントに接続を張るために使います。 .Pp Unix ドメインのソケット .Pq Pa /tmp/ssh-XXXXXXXX/agent. が作られ、そのソケットの名前が .Ev SSH_AUTH_SOCK 環境変数に入れられます。このソケットは そのユーザにのみアクセスが可能になっています。現在の方式だと root または 同一ユーザの別プロセスによって簡単に悪用されてしまいます。 .Pp .Ev SSH_AGENT_PID 環境変数はエージェントの プロセス ID を保持しています。 .Pp コマンドラインで与えたコマンドが終了すると、エージェントも自動的に終了します。 .Sh 関連ファイル .Bl -tag -width Ds .It Pa $HOME/.ssh/identity そのユーザのRSA 認証用 identity (秘密鍵) が入っています。この ファイルは本人以外の誰にも読まれてはいけません。他人から 読めるようになっていると、 .Xr ssh-add 1 はこのファイルを無視します。 鍵を作成するときにパスフレーズが指定されることもあります。 パスフレーズはこのファイルの秘密な部分を暗号化するのに使われます。 .Nm はこのファイルを使いませんが、ふつう .Xr ssh-add 1 はログイン時にこれをエージェントに追加するファイルとして使います。 .It Pa $HOME/.ssh/id_dsa そのユーザの DSA 認証用の identity (秘密鍵) が入っています。 .It Pa /tmp/ssh-XXXXXXXX/agent. 認証エージェントに接続を保持する Unix ドメイン のソケットです。 これらのソケットはその所有者にのみ読み取りが許されているもので なければいけません。エージェントが終了するとき、このソケットは 自動的に削除されます。 .El .Sh 作者 Tatu Ylonen .Pp OpenSSH は オリジナルの (フリー) ssh 1.2.12 から派生したものです。 しかしバグがとり除かれ、より新しい機能が追加されています。 1.2.12 がリリースされるとすぐに、オリジナルの ssh は だんだんと制限されたライセンスになっていきました。 このバージョンの OpenSSH は… .Bl -bullet .It 何らかの制限的事項 (つまり特許など。 .Xr ssl 8 を参照) がついているコンポーネントはすべて、ソースコードから直接削除されて います。かわりにライセンスあるいは特許つきのコンポーネントは、 外部ライブラリから取り込まれます。 .It SSH プロトコル 1.5 と 2 をサポートするようにアップデートされました。 .It .Xr kerberos 8 認証とチケットパスの追加サポートが含まれています。 .It .Xr skey 1 を用いた、使い捨てパスワード (one-time password) 認証をサポートしています。 .El .Sh 日本語訳 新山 祐介 (euske@cl.cs.titech.ac.jp) 2000/11/23 .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 、および .Fx jpman プロジェクト までお送りください。 .Sh 関連項目 .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-keygen 1 , .Xr sshd 8 , .Xr ssl 8