diff --git a/ja_JP.eucJP/man/man1/scp.1 b/ja_JP.eucJP/man/man1/scp.1 index b3d313a670..43f9577ce5 100644 --- a/ja_JP.eucJP/man/man1/scp.1 +++ b/ja_JP.eucJP/man/man1/scp.1 @@ -1,142 +1,142 @@ .\" -*- nroff -*- .\" .\" scp.1 .\" .\" Author: Tatu Ylonen .\" .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" Created: Sun May 7 00:14:37 1995 ylo .\" .\" $OpenBSD: scp.1,v 1.13 2000/10/16 09:38:44 djm Exp $ .\" %FreeBSD% -.\" jpman %Id% +.\" $FreeBSD:$ .\" .Dd September 25, 1999 .Dt SCP 1 .Os -.Sh 名前 +.Sh 名称 .Nm scp .Nd セキュア コピー (リモート ファイルコピー プログラム) .Sh 書式 .Nm scp .Op Fl pqrvC46 .Op Fl S Ar プログラム .Op Fl P Ar ポート .Op Fl c Ar 暗号化アルゴリズム .Op Fl i Ar 秘密鍵ファイル .Op Fl o Ar オプション .Sm off .Oo .Op Ar ユーザ@ .Ar ホスト1 No : .Oc Ns Ar ファイル1 .Sm on .Op Ar ... .Sm off .Oo .Op Ar ユーザ@ .Ar ホスト2 No : .Oc Ar ファイル2 .Sm on -.Sh 説明 +.Sh 解説 .Nm はネットワーク上のホスト間でファイルをコピーします。 これはデータ転送に .Xr ssh 1 を使い、同じように認証をおこないます。また .Xr ssh 1 と同様のセキュリティを提供します。 .Xr rcp 1 とは違って、 .Nm は認証に必要な場合、パスワードまたはパスフレーズをたずねてきます。 .Pp ホストとユーザの指定はあらゆるファイル名に含めることができます。これは そのファイルがどのホストから、あるいはどのホストにコピーされるかを 指定します。2つのリモートホスト間のコピーも許されています。 .Pp オプションは次のとおりです: .Bl -tag -width Ds .It Fl c Ar 暗号化アルゴリズム データ転送に使う暗号化アルゴリズムを選択します。このオプションは直接 .Xr ssh 1 に渡されます。 .It Fl i Ar 秘密鍵ファイル RSA 認証用の identity (秘密鍵) を読むファイルを選択します。 このオプションは直接 .Xr ssh 1 に渡されます。 .It Fl p コピー元ファイルの最終修正時刻、最終アクセス時刻、および パーミッションを保つようにします。 .It Fl r ディレクトリ全体を再帰的にコピーします。 .It Fl v 冗長表示モード。 .Nm と .Xr ssh 1 が進行中のデバッグメッセージを表示するようにします。 これは接続や認証、設定の問題をデバッグするときに助けとなります。 .It Fl B バッチ処理モード (パスワードやパスフレーズを尋ねないようにします)。 .It Fl q 進行状況を表すメータを表示しないようにします。 .It Fl C 圧縮の許可。 .Xr ssh 1 に .Fl C フラグを渡して圧縮を許可します。 .It Fl P Ar ポート リモートホストに接続するポート番号あるいはポート名を指定します。 このオプションは大文字の .Sq P であることに注意してください。これは小文字の .Fl p が時刻やパーミッションを保つオプションとして、 .Xr rcp 1 によってすでに使われているためです。 .It Fl S Ar プログラム 暗号化された接続のために使う .Ar プログラム の名前を指定します。このプログラムは .Xr ssh 1 のオプションが使えるようになっていなくてはいけません。 .It Fl o Ar オプション ここで与えられたオプションは直接 .Xr ssh 1 に渡されます。 .It Fl 4 .Nm が IPv4 アドレスのみを使うよう強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使うよう強制します。 .El .Sh 作者 Timo Rinne と Tatu Ylonen .Sh 歴史 .Nm は、カリフォルニア州立大学評議会による BSD ソースコードの .Xr rcp 1 を基にしています。 .Sh 日本語訳 新山 祐介 (euske@cl.cs.titech.ac.jp) 2000/11/23 .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 、および .Fx jpman プロジェクト までお送りください。 .Sh 関連項目 .Xr rcp 1 , .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr ssh-keygen 1 , .Xr sshd 8 diff --git a/ja_JP.eucJP/man/man1/ssh-add.1 b/ja_JP.eucJP/man/man1/ssh-add.1 index dc625012e4..27299694b4 100644 --- a/ja_JP.eucJP/man/man1/ssh-add.1 +++ b/ja_JP.eucJP/man/man1/ssh-add.1 @@ -1,162 +1,162 @@ .\" -*- nroff -*- .\" .\" 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% -.\" jpman %Id% +.\" $FreeBSD:$ .\" .Dd September 25, 1999 .Dt SSH-ADD 1 .Os -.Sh 名前 +.Sh 名称 .Nm ssh-add .Nd 認証エージェントに RSA あるいは DSA 秘密鍵を追加する .Sh 書式 .Nm ssh-add .Op Fl lLdD .Op Ar -.Sh 説明 +.Sh 解説 .Nm は認証エージェントである .Xr ssh-agent 1 . に、 RSA あるいは DSA の identity (秘密鍵) を追加します。 引数なしで実行された場合、これは .Pa $HOME/.ssh/identity ファイルを追加します。コマンドラインから別の ファイル名を与えることもできます。パスフレーズが必要な場合、 .Nm はユーザにそれを尋ねます。このパスフレーズはユーザの端末から読み込まれます。 .Pp .Nm がうまく動くためには、認証エージェントが走っていて、 しかもそれが現在のプロセスの先祖になっていなければいけません。 .Pp オプションは以下のとおりです: .Bl -tag -width Ds .It Fl l 現在、エージェントによって保持されているすべての identity の 指紋 (fingerprint) を一覧表示します。 .It Fl L 現在、エージェントによって保持されているすべての identity の 公開鍵の情報を一覧表示します。 .It Fl d エージェントから identity を追加でなく取り除きます。 .It Fl D エージェントからすべての identity を取り除きます。 .El -.Sh ファイル +.Sh 関連ファイル .Bl -tag -width Ds .It Pa $HOME/.ssh/identity そのユーザのRSA 認証用 identity (秘密鍵) が入っています。この ファイルは本人以外の誰にも読まれてはいけません。他人から 読めるようになっていると、 .Nm はこのファイルを無視します。 鍵を作成するときにパスフレーズが指定されることもあります。 パスフレーズはこのファイルの秘密な部分を暗号化するのに使われます。 このファイルは、 .Nm に他のファイル名をなにも指定しなかった ときに使われるデフォルトのファイルとなります。 .It Pa $HOME/.ssh/id_dsa そのユーザの DSA 認証用の identity (秘密鍵) が入っています。 .El .Sh 環境変数 .Bl -tag -width Ds .It Ev "DISPLAY", "SSH_ASKPASS" .Nm は端末で走っている場合、パスフレーズが必要になると その端末からパスフレーズを読み込みます。 .Nm が自分の端末を持ってはいないときでも、 .Ev DISPLAY と .Ev SSH_ASKPASS が設定されているとこれは .Ev SSH_ASKPASS で指定されたプログラムを立ち上げ、パスフレーズを読むための X11 ウインドウを開きます。これは特に .Nm を .Pa .Xsession などのスクリプトから走らせるときに有効です。 (機種によっては、これがうまく動作するためには入力を .Pa /dev/null にリダイレクトしておく必要があるかもしれません) .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-agent 1 , .Xr ssh-keygen 1 , .Xr sshd 8 , .Xr ssl 8 diff --git a/ja_JP.eucJP/man/man1/ssh-agent.1 b/ja_JP.eucJP/man/man1/ssh-agent.1 index ec24030a39..6573e69a76 100644 --- a/ja_JP.eucJP/man/man1/ssh-agent.1 +++ b/ja_JP.eucJP/man/man1/ssh-agent.1 @@ -1,205 +1,205 @@ .\" $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% -.\" jpman %Id% +.\" $FreeBSD:$ .\" .Dd September 25, 1999 .Dt SSH-AGENT 1 .Os -.Sh 名前 +.Sh 名称 .Nm ssh-agent .Nd 認証エージェント .Sh 書式 .Nm ssh-agent .Op Fl c Li | Fl s .Op Fl k .Oo .Ar コマンド .Op Ar 引数 ... .Oc -.Sh 説明 +.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 FILES +.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 diff --git a/ja_JP.eucJP/man/man1/ssh-keygen.1 b/ja_JP.eucJP/man/man1/ssh-keygen.1 index 1227aecd7e..ef1b0b2e0e 100644 --- a/ja_JP.eucJP/man/man1/ssh-keygen.1 +++ b/ja_JP.eucJP/man/man1/ssh-keygen.1 @@ -1,256 +1,256 @@ .\" -*- nroff -*- .\" .\" 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% .\" jpman %Id% .\" .Dd September 25, 1999 .Dt SSH-KEYGEN 1 .Os -.Sh 名前 +.Sh 名称 .Nm ssh-keygen .Nd 認証用の鍵を生成する .Sh 書式 .Nm ssh-keygen .Op Fl dq .Op Fl b Ar ビット数 .Op Fl N Ar 新しいパスフレーズ .Op Fl C Ar コメント .Op Fl f Ar 出力する鍵ファイル .Nm ssh-keygen .Fl p .Op Fl P Ar 古いパスフレーズ .Op Fl N Ar 新しいパスフレーズ .Op Fl f Ar 鍵ファイル .Nm ssh-keygen .Fl x .Op Fl f Ar 入力する鍵ファイル .Nm ssh-keygen .Fl X .Op Fl f Ar 入力する鍵ファイル .Nm ssh-keygen .Fl y .Op Fl f Ar 入力する鍵ファイル .Nm ssh-keygen .Fl c .Op Fl P Ar パスフレーズ .Op Fl C Ar コメント .Op Fl f Ar 鍵ファイル .Nm ssh-keygen .Fl l .Op Fl f Ar 入力する鍵ファイル .Nm ssh-keygen .Fl R -.Sh 説明 +.Sh 解説 .Nm は .Xr ssh 1 の認証用の鍵を生成し、管理します。デフォルトでは .Nm はプロトコル 1.3 および 1.5 で使われる RSA 鍵を生成する ようになっていますが、 .Fl d フラグを指定することによりプロトコル 2.0 で 使われる DSA 鍵を生成することもできます。 .Pp ふつう RSA認証 または DSA認証で SSH を使いたいユーザは、一度これを 実行すれば .Pa $HOME/.ssh/identity または .Pa $HOME/.ssh/id_dsa . に鍵を作ることができます。また .Pa /etc/rc . などで見れらるように、 システム管理者がホスト鍵生成のためにこれを使うこともできます。 .Pp このプログラムはふつう鍵を生成して、その秘密鍵をどのファイルに格納すれば よいのかを訊いてきます。公開鍵は秘密鍵のファイル名に .Dq .pub をつけたファイル名に格納されます。またこのプログラムは パスフレーズも訊いてきます。 パスフレーズをつけないときは空でもかまいません (ホスト鍵のパスフレーズは 必ず空でなければいけません) し、任意の長さの文字列をパスフレーズとして 使用することもできます。よいパスフレーズは 10〜30文字程度の長さをもち、 簡単な文章や容易に推測できるものであってはいけません (英語の散文は 単語ごとにわずか 1〜2 ビットのエントロピーしかなく、これは非常に悪い パスフレーズの例です)。パスフレーズは .Fl p オプションを使うことに よって後からでも変更できます。 .Pp 失われてしまったパスフレーズをもとに戻すすべはありません。もし パスフレーズを忘れてしまったり、それをなくしてしまったときには、 新しい鍵を生成してその公開鍵を別のマシンにコピーしなくてはならない でしょう。 .Pp RSA の場合、鍵のファイルにはコメントフィールドもあり、これはユーザが 鍵を区別する便宜をはかるだめだけに存在します。このコメントには その鍵が何のためであるかとか、その他有用な情報を書いておくことが できます。コメントは最初に鍵が作られたとき .Dq user@host の形になっていますが、 .Fl c オプションを使えば変更することができます。 .Pp 鍵を生成したあと、それをどこに置けば使用可能になるのかは 以下の解説を読んでください。 .Pp オプションには次のようなものがあります: .Bl -tag -width Ds .It Fl b Ar ビット数 作成する鍵のビット数を指定します。最小値は 512 ビットです。 ふつう 1024 ビットの鍵で充分だと考えられており、これ以上鍵を 長くしてもセキュリティの向上には役に立たず、遅くなるだけです。 デフォルトは 1024 ビットになっています。 .It Fl c 秘密鍵ファイルおよび公開鍵ファイルのコメントを変更します。 まず秘密鍵の入っているファイルを訊かれ、パスフレーズがあれば それを入力したあと、新しいコメントを入力します。 .It Fl f 鍵を入れるファイルのファイル名を指定します。 .It Fl l 指定された秘密鍵あるいは公開鍵の指紋 (fingerprint) を表示します。 .It Fl p 新しく秘密鍵をつくるのではなく、すでにある秘密鍵ファイルのパス フレーズを変更します。まず秘密鍵の入っているファイルを訊かれ、 古いパスフレーズを入力したあと、新しいパスワードを 2回入力します。 .It Fl q 静かな .Nm ssh-keygen 。 .Pa /etc/rc で新しい鍵をつくるときに使われます。 .It Fl C Ar コメント 新規のコメントを指定します。 .It Fl N Ar 新しいパスフレーズ 新規のパスフレーズを指定します。 .It Fl P Ar パスフレーズ (古い) パスフレーズを指定します。 .It Fl R RSA サポートが機能していれば、これは終了状態 0 を返して すぐに終了します。もし RSA サポートが機能していなければ、終了 状態として 1 を返します。このフラグは RSA の特許が切れたので なくなります。 .It Fl x このオプションはプライベートな OpenSSH DSA 形式の鍵ファイルを読み SSH2 互換な公開鍵を標準出力に表示します。 .It Fl X このオプションは暗号化されていない SSH2 互換の秘密鍵 (または 公開鍵) ファイルを読み、OpenSSH 互換の秘密鍵 (あるいは公開鍵) を 標準出力に表示します。 .It Fl y このオプションはプライベートな OpenSSH DSA 形式の鍵ファイルを読み OpenSSH DSA 公開鍵を標準出力に表示します。 .El -.Sh ファイル +.Sh 関連ファイル .Bl -tag -width Ds .It Pa $HOME/.ssh/identity そのユーザの RSA 認証用 秘密鍵を格納します。このファイルはその ユーザ以外の誰にも読ませるべきではありません。この鍵を生成する 際にパスフレーズを指定するこもできます。これはファイル中の 秘密鍵を 3DES を使って暗号化するのに用いられます。このファイルは .Nm が自動的にアクセスするわけではありませんが、 秘密鍵ファイルのデフォルトの名前としてこれが提案されます。 .Xr sshd 8 はログイン要求があった際にこのファイルを読み込みます。 .It Pa $HOME/.ssh/identity.pub 認証用の公開鍵を格納します。このファイルの内容を、RSA 認証を使って ログインしたいすべてのマシンの .Pa $HOME/.ssh/authorized_keys に付け加えておいてください。このファイルを秘密にしておく必要は ありません。 .It Pa $HOME/.ssh/id_dsa そのユーザの DSA 認証用 秘密鍵を格納します。このファイルはその ユーザ以外の誰にも読ませるべきではありません。この鍵を生成する 際にパスフレーズを指定するこもできます。これはファイル中の 秘密鍵を 3DES を使って暗号化するのに用いられます。このファイルは .Nm によって自動的にアクセスされるわけではありませんが、 秘密鍵ファイルのデフォルトの名前としてこれが提案されます。 .Xr sshd 8 はログイン要求があった際にこのファイルを読み込みます。 .It Pa $HOME/.ssh/id_dsa.pub 認証用の公開鍵を格納します。このファイルの内容を、DSA 認証を使って ログインしたいすべてのマシンの .Pa $HOME/.ssh/authorized_keys2 に付け加えておいてください。このファイルを秘密にしておく必要は ありません。 .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 SEE ALSO +.Sh 関連項目 .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr sshd 8 , .Xr ssl 8 diff --git a/ja_JP.eucJP/man/man1/ssh.1 b/ja_JP.eucJP/man/man1/ssh.1 index 601b481b93..6134fa162f 100644 --- a/ja_JP.eucJP/man/man1/ssh.1 +++ b/ja_JP.eucJP/man/man1/ssh.1 @@ -1,1227 +1,1227 @@ .\" -*- nroff -*- .\" .\" 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. .\" .\" $OpenBSD: ssh.1,v 1.64 2000/10/16 21:46:31 markus Exp $ .\" %FreeBSD: /home/ncvs/src/crypto/openssh/ssh.1,v 1.4.2.7 2001/03/15 09:27:00 asmodai Exp % -.\" jpman %Id% +.\" $FreeBSD:$ .\" .Dd September 25, 1999 .Dt SSH 1 .Os -.Sh 名前 +.Sh 名称 .Nm ssh .Nd OpenSSH セキュア シェル クライアント (リモート ログイン プログラム) .Sh 書式 .Nm ssh .Op Fl l Ar ログイン名 .Op Ar ホスト名 | ユーザ@ホスト名 .Op Ar コマンド .Pp .Nm ssh .Op Fl afgknqtvxACNPTX246 .Op Fl c Ar 暗号化オプション .Op Fl e Ar エスケープ文字 .Op Fl i Ar identityファイル .Op Fl l Ar ログイン名 .Op Fl o Ar オプション .Op Fl p Ar ポート .Oo Fl L Xo .Sm off .Ar ポート : .Ar ホスト : .Ar ホスト側ポート .Sm on .Xc .Oc .Oo Fl R Xo .Sm off .Ar ポート : .Ar ホスト : .Ar ホスト側ポート .Sm on .Xc .Oc .Op Ar ホスト名 | ユーザ@ホスト名 .Op Ar コマンド -.Sh 説明 +.Sh 解説 .Nm (Secure Shell、セキュア シェル) はリモートマシンにログイン したり、リモートマシン上でコマンドを実行するためのプログラムです。 これは rlogin と rsh を置き換えるためのもので、安全でないネットワーク 上にある、2つの信頼されていないホスト間で、暗号化された安全な通信を 提供します。X11 の接続や任意の TCP/IP ポートなども安全な通信路を通して 転送できます。 .Pp .Nm は指定された .Ar hostname に接続し、ログインします。 ユーザはリモートマシンに対して、自分自身であることを証明しなければいけません。 これにはプロトコルのバージョンに応じたいくつかの方法のうちのひとつを使います: .Pp .Ss SSH プロトコル バージョン 1 .Pp 最初に、ユーザがリモートマシン上の .Pa /etc/hosts.equiv あるいは .Pa /etc/ssh/shosts.equiv に記されているマシンからログインしてきて、 さらにそのユーザの名前が両方のホストで同じならば、そのユーザは すぐにログインが許可されます。 つぎに、 .Pa \&.rhosts か .Pa \&.shosts がリモートホスト上のそのユーザのホームディレクトリに存在していて、そこに クライアントホスト名とそのホスト上におけるユーザ名が記されている 行が存在すれば、そのユーザはログインが許可されます。 この形の認証はふつう、これのみではサーバから許可されません。 安全ではないからです。 .Pp 2番目の (原始的な) 認証方法は .Pa rhosts または .Pa hosts.equiv を RSA ベースのホスト認証と組み合わせて使うことです。これは もしログインが .Pa $HOME/.rhosts , .Pa $HOME/.shosts , .Pa /etc/hosts.equiv , あるいは .Pa /etc/ssh/shosts.equiv で許可されていて、さらにサーバ側がクライアントのホスト鍵 ( -.Sx FILES +.Sx 関連ファイル セクションの .Pa /etc/ssh/ssh_known_hosts と .Pa $HOME/.ssh/known_hosts の項を参照) を確認できる場合、そして その場合のみログインが許可されます。この認証方法を使うと IP 詐称、 DNS 詐称 および 経路詐称 によるセキュリティーホールをふさぐことができます。 [管理者の方へ: .Pa /etc/hosts.equiv や .Pa $HOME/.rhosts 、 そして一般的な rlogin/rsh プロトコルは 本質的に危険であり、セキュリティを考えるなら禁止しなくてはいけません] .Pp 3つめの認証方法として、 .Nm は RSA ベースの認証をサポートしています。 このやりかたは公開鍵暗号化技術に基づいています: 暗号システムのなかには、 暗号化/復号化をそれぞれ別の鍵をつかって行うことができ、さらに復号化用の 鍵から暗号化用の鍵が推測することはできないものがあります。RSA はこのような 暗号システムのひとつで、以下のようなアイデアで認証を行います。 まず各ユーザは、認証のための「秘密鍵」「公開鍵」とよばれる鍵の対を つくります。サーバは公開鍵を知っていますが、秘密鍵のほうはユーザだけが 知っているものとします。 .Pa $HOME/.ssh/authorized_keys ファイルには、ログインが許可されている公開鍵の一覧が書かれています。 ユーザがログインするさい、 .Nm プログラムは、そのユーザがどの鍵をつかって 認証したがっているかをサーバに伝えます。サーバはこの鍵が許される ものであるかどうかをチェックし、もし許されているならば、ユーザ (実際には ユーザのために走っている .Nm プログラム) に「チャレンジ(挑戦)」と 呼ばれるものを送ります。これはサーバ側で生成された でたらめな数で、 ユーザの公開鍵によって暗号化されています。このチャレンジはユーザが もっている正しい秘密鍵によってのみ復号化することができます。ユーザ側の クライアントはこのときチャレンジを秘密鍵をつかって復号化してみせること で、秘密鍵の中身をサーバ側に見せることなしに、それを持っていることを サーバに対し証明するのです。 .Pp .Nm は RSA の認証プロトコルを自動的に行います。ユーザは .Xr ssh-keygen 1 をつかって自分の RSA 鍵の対をつくります。このプログラムは秘密鍵を ユーザのホームディレクトリ内の .Pa $HOME/.ssh/identity ファイルに、公開鍵を .Pa $HOME/.ssh/identity.pub ファイルに格納します。ユーザはつぎにこの .Pa identity.pub をリモートマシン上の自分のホームディレクトリにある .Pa $HOME/.ssh/authorized_keys ファイルにコピーしなくてはいけません ( .Pa authorized_keys ファイルは従来の .Pa $HOME/.rhosts ファイルに相当し、1行ごとにひとつの鍵を格納します。 各行はかなり長くなることもあります)。 この後、ユーザはパスワードなしでログインすることができます。 RSA 認証は rhosts 認証よりもずっと安全です。 .Pp RSA 認証を使う際にいちばん便利なのは「認証エージェント」と呼ばれる ものを使うことかもしれません。詳しくは .Xr ssh-agent 1 のマニュアルページを見てください。 .Pp もし他の認証方法が失敗した場合、 .Nm はユーザにパスワードを要求します。 このパスワードはチェックのためリモートホストに送られますが、 すべての通信は暗号化されているため、ネットワークを盗聴している何物かに よってパスワードが見られてしまうようなことはありません。 .Pp .Ss SSH プロトコル バージョン 2 .Pp ユーザがバージョン 2 のプロトコルで接続したときには、別の認証方法が 使えるようになります: まず、クライアントは公開鍵の方法で認証しようと こころみます。これが失敗するとパスワード認証が使われます。 .Pp 公開鍵による方法は前節に書かれている RSA 認証と似ていますが、 特許のある RSA アルゴリズムの代わりに DSA アルゴリズムが使われる点が 違っています。クライアントは .Pa $HOME/.ssh/id_dsa にある自分の DSA 秘密鍵をつかってセッション識別子と 呼ばれるものに署名し、この結果をサーバに送ります。 サーバはこれに対応する公開鍵が .Pa $HOME/.ssh/authorized_keys2 ファイルに存在するかどうかチェックし、 もし両方の鍵が存在してその署名が正しければアクセスを許可します。 セッション識別子は共有 Diffie-Hellman 値によって与えられ、この値は クライアントとサーバのみが知ることができます。 .Pp 公開鍵認証が失敗するか、それが使えなかった場合、リモートホストには そのユーザであることを証明するパスワードが送られます。この プロトコル 2 の実装はまだ Kerberos や OPIE 認証をサポートしていません。 .Pp プロトコル 2 は信頼性 (通信は 3DES, Blowfish, CAST128 または Arcfour によって暗号化されます) や、データが途中で改竄されることを防ぐための追加の機構 (hmac-sha1, hmac-md5) を提供しています。プロトコル 1 では 接続の清潔さを保証する強力なメカニズムは存在しないことに注意してください。 .Pp .Ss ログインセッション と リモート実行 .Pp ユーザの同一性が確認されると、サーバは与えられたコマンドを実行するか、 そのマシンにログインさせユーザに標準のリモートマシンでのシェル環境を 与えます。リモートコマンドあるいはシェルにおけるすべての通信は 自動的に暗号化されます。 .Pp 仮想端末が割り当てられる場合 (通常のログイン時)、ユーザは .Ic ~. という文字を入力することによって接続を切ることができ、 .Ic ~^Z によって .Nm をサスペンドできます。 転送されている接続の一覧は .Ic ~# によって見ることができます。X11 あるいは TCP/IP 接続が 終了するのを待つためにセッションがブロックされているときは、 .Ic ~& を入力することによって ssh をバックグラウンド化することができます (ユーザのシェルがまだ生きているときに これをやってはいけません、 シェルが止まってしまいます)。 使用可能なエスケープ文字の一覧は、 .Ic ~? . で見ることができます。 .Pp チルダ記号そのものを 1回入力するには .Ic ~~ を押します (あるいは上で述べられている以外の文字をチルダに続けます)。 エスケープ文字は、必ず改行の直後に来なければ特別な文字とは 解釈されません。このエスケープ文字は設定ファイルかコマンドラインから 変更することもできます。 .Pp もし仮想端末が割り当てられていない場合、そのセッションは透過となり、 バイナリファイルもきちんと送ることができます。ほとんどのシステムでは エスケープ文字を .Dq none に設定すると、たとえ端末が使われていても 透過なセッションにすることができます。 .Pp セッションは、リモートマシン上のコマンドやシェルが完了し、すべての X11 や TCP/IP 接続が閉じられると終了します。このときのリモート プログラムの終了状態が .Nm ssh の終了状態となります。 .Pp .Ss X11 と TCP の転送 .Pp ユーザが X11 を使っている (環境変数 .Ev DISPLAY が設定されている) 場合には、 X11 ディスプレイへの接続をリモート側に転送するようにできます。これは、 シェル (あるいはコマンド) から起動された X11 プログラムはどれも 暗号化された通信路を通って、本当の X サーバへの接続はローカルマシン上から なされるようになるのです。ユーザは .Ev DISPLAY を手動で設定すべきではありません。 X11 接続の転送はセキュリティを弱めるためデフォルトでは禁止されていますが、 コマンドラインあるいは設定ファイルによって有効にできます。 .Pp .Nm によって設定された .Ev DISPLAY の値はサーバマシン上を指すように なっていますが、ディスプレイ番号は 0 より大きい値になっているでしょう。 これは正常な状態です。 .Nm は暗号化された通信路を介して接続を転送するため、 サーバマシン上に .Dq プロキシーの X サーバをつくるのでこうなるのです。 .Pp また、 .Nm は自動的にサーバマシン上で Xauthority の情報を用意します。 この目的のため、 .Nm はランダムな認証クッキーを生成し、サーバ側の Xauthority に格納し、接続が転送されるときはすべてこのクッキーを持たせる ようにします。そして接続が開かれるときに、これが本物のクッキーと置き換わる ようにするのです。本物の認証クッキーがサーバ側に送られることは 決してありません (し、それに暗号化されないままでクッキーが送られるような こともありません)。 .Pp ユーザが認証エージェントを使っている場合、そのエージェントへの接続は それがコマンドラインあるいは設定ファイルで禁止されていない限り、 自動的にリモート側に転送されます。 .Pp 安全な通信路をつかった任意の TCP/IP 接続への転送は、 コマンドラインあるいは設定ファイルで指定します。TCP/IP 転送の 応用として、ひとつは電子預金への安全な接続が考えられます。ほかにも ファイヤーウォールを抜けるなどの使いみちがあるでしょう。 .Pp .Ss サーバ認証 .Pp .Nm はこれまでに使った鍵すべてが入っているデータベースを 自動的に保持し、チェックします。これらのうち、RSA ホスト鍵はユーザの ホームディレクトリにある .Pa $HOME/.ssh/known_hosts に格納され、 DSA ホスト鍵は .Pa $HOME/.ssh/known_hosts2 に格納されます。 加えて、 .Pa /etc/ssh/ssh_known_hosts および .Pa /etc/ssh/ssh_known_hosts2 が既知のホストとして自動的にチェックされます。 新しいホストはユーザ側のファイルに自動的に追加されていきます。 もし、あるホストの鍵が変わっていた場合、 .Nm は警告を発してパスワード認証を禁止します。 これはトロイの木馬がユーザのパスワードを盗むのを防ぐためです。 この仕組みのもうひとつの目的は、どこか他の場所で man-in-the-middle 攻撃が行われ、暗号化がたくみにかわされてしまうのを防ぐことです。 .Cm StrictHostKeyChecking オプション (下記参照) はホスト鍵が知られていなかったり、 それが変更されていた場合のログインを防ぐために使われます。 .Sh オプション .Bl -tag -width Ds .It Fl a 認証エージェントの接続を転送することを禁止します。 .It Fl A 認証エージェントの接続を転送することを許可します。 これは設定ファイルによってホストごとに指定することも可能です。 .It Fl c Ar blowfish|3des このセッションで使われる暗号化の方法を指定します。デフォルトでは .Ar 3des が使われます。これが安全であると考えられているためです。 .Ar 3des (トリプル des) は 3つの異なる鍵をつかって 暗号化-復号化-暗号化を行うもので、 .Nm ではもう完全にはサポートされなくなった .Ar des 暗号化よりもおそらく安全です。 .Ar blowfish は高速なブロック暗号化アルゴリズムで、非常に安全のようです。 そして .Ar 3des よりかなり速くなります。 .It Fl c Ar "3des-cbc,blowfish-cbc,arcfour,cast128-cbc" さらにプロトコル バージョン 2 では、暗号化の方法をカンマで 区切ったリストにより優先順位をつけて指定することができます。 プロトコル バージョン 2 は 3DES, Blowfish および CAST128 を それぞれ CBC モードでサポートし、Arcfour もサポートします。 .It Fl e Ar ch|^ch|none 仮想端末を使うセッションにおけるエスケープ文字を指定します (デフォルトは .Ql ~ )。エスケープ文字は行頭に来たときのみ認識されます。 エスケープ文字のあとにドット ( .Pq Ql \&. ) がくると接続が閉じられ、control-Z がくると接続はサスペンドされます。 そのエスケープ文字自身がきたときには、その文字が 1回だけ送られます。 エスケープ文字を .Dq none に指定するとあらゆるエスケープ機能が禁止され、 セッションは完全に透過になります。 .It Fl f .Nm がコマンドを実行する直前に、 バックグラウンドに移行するよう指示します。これは .Nm にパスワードあるいはパスフレーズを入力する必要はあるものの、 そのコマンド自体はバックグラウンドで実行させたいときに有用です。 これは .Fl n オプションも含んでいます。 リモートサイトで X11 プログラムを起動させる方法では、 .Ic ssh -f host xterm などとやるのがおすすめです。 .It Fl g リモートホストが転送されたローカルなポートに接続することを許可します。 .It Fl i Ar identityファイル RSA 認証のさい、 identity (秘密鍵) を読むファイルを指定します。 デフォルトはユーザのホームディレクトリにある .Pa $HOME/.ssh/identity になっています。identity ファイルは設定ファイルによって、 ホストごとに指定することもできます。複数の .Fl i オプションを指定することも可能です。 (設定ファイルで複数の鍵を指定することもできます。) .It Fl k Kerberos チケットおよび AFS トークンの転送を禁止します。 これは設定ファイルによって、ホストごとに指定することもできます。 .It Fl l Ar ログイン名 リモートマシン上でログインするユーザ名を指定します。 これは設定ファイルによって、ホストごとに指定することもできます。 .It Fl n 標準入力を .Pa /dev/null からリダイレクトします (つまり標準入力からの読み込みを禁止します)。 .Nm がバックグラウンドで走るときには、このオプションを指定しなくてはいけません。 よくある手としては、リモートマシン上で X11 のプログラムを 走らせるときにこれを使うことです。たとえば、 .Ic ssh -n shadows.cs.hut.fi emacs & で emacs を立ち上げると、X11 接続は暗号化された経路を 介して自動的に転送されます。 .Nm プログラムはこの後バックグラウンドに移行するでしょう。 (これは .Nm がパスワードあるいはパスフレーズを訊いてくるときには使えません。 .Fl f オプションも参照してください。) .It Fl N リモートコマンドを実行しません。これはポート転送のみを 行いたい場合に有用です (プロトコル バージョン 2 のみ)。 .It Fl o Ar オプション 設定ファイルと同じ形式でオプションを与えたいときに使用します。 コマンドラインオプションでは指定できないオプションを指定したいときに 有用です。このときのオプションは設定ファイルの 1行と 同じ形式である必要があります。 .It Fl p Ar ポート リモートホストに接続するポート番号あるいはポート名を指定します。 これは設定ファイルによって、ホストごとに指定することもできます。 .It Fl P 外に向けての接続を、特権ポートでないポートから張るようにします。 これはファイヤーウォールが特権ポートからの接続を禁じているときに 使われます。このオプションを指定すると、 .Cm RhostsAuthentication および .Cm RhostsRSAAuthentication オプションがオフになることに注意してください。 .It Fl q 静かなモード。すべての警告メッセージや診断メッセージは 抑制されます。致命的なエラーだけが表示されます。 .It Fl t 強制的に仮想端末を割り当てます。これはリモートマシン上で 任意の画面ベースのプログラムを実行するときに非常に有用かもしれません。 たとえば、メニューサービスを実装するときなどに。 .It Fl T 仮想端末の割り当てを禁止します (プロトコル バージョン2 のみ)。 .It Fl v 冗長表示モード。 .Nm が進行中のデバッグメッセージを表示するようにします。 これは接続や認証、設定の問題をデバッグするときに助けとなります。 またユーザがパスワードとして "s/key" を入力したときに、 .Xr skey 1 チャレンジを表示するためにも冗長モードが使われます。 複数の -v オプションをつけると冗長性が増します。最大は 3個です。 .It Fl x X11 の転送を禁止します。 .It Fl X X11 の転送を許可します。 これは設定ファイルによって、ホストごとに指定することもできます。 .It Fl C すべてのデータを圧縮するよう指示します (標準入力、標準出力、 標準エラー出力、転送された X11 や TCP/IP 接続を含む)。圧縮に 使われるアルゴリズムは .Xr gzip 1 と同じもので、 .Dq レベル は .Cm CompressionLevel (下記参照) によって制御できます。 圧縮は、モデムその他の遅い接続においては必要ですが、高速な ネットワークでは速度が低下するだけです。このデフォルト値は 2ホスト間ごとに設定ファイルに書くことができます。下の .Cm Compress オプションを参照してください。 .It Fl L Ar ポート:ホスト:ホスト側ポート 与えられたローカル (クライアント) ホスト上のポートが、 与えられたリモートホスト上のポートに転送されるようにします。 これはローカル側で .Ar port に listen (接続受け付け) 用の ソケットを割り当てることにより行われます。 このポートに向けて行われた接続はいつでも 安全な通信路を経由してリモートマシン上に到達し、そこから .Ar host のポート .Ar hostport に接続されるようになります。 ポート転送は設定ファイルによっても指定できます。特権ポートを 転送できるのは root だけです。IPv6 アドレスはこれとは別の 形式で指定されます: .Ar port/host/hostport .It Fl R Ar ポート:ホスト:ホスト側ポート 与えられたリモート (サーバ) ホスト上のポートが、 与えられたローカルホスト上のポートに転送されるようにします。 これはリモート側で .Ar port に listen (接続受け付け) 用の ソケットを割り当てることにより行われます。 このポートに向けて行われた接続はいつでも 安全な通信路を経由してローカルマシン上に到達し、ここから .Ar host のポート .Ar hostport に接続されるようになります。 ポート転送は設定ファイルによっても指定できます。特権ポートを 転送できるのは、リモートマシン上に root としてログインしているときだけです。 .It Fl 2 .Nm がプロトコル バージョン 2 のみを使うよう強制します。 .It Fl 4 .Nm が IPv4 アドレスのみを使うよう強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使うよう強制します。 .El .Sh 設定ファイル .Nm は次のものから、この順序で設定情報を取得します: コマンドライン オプション、ユーザの設定ファイル .Pq Pa $HOME/.ssh/config 、そしてシステムの設定ファイル .Pq Pa /etc/ssh/ssh_config 。各設定項目は、ぞれそれ 最初に取得されたものが使われます。設定ファイルはいくつかのセクションに 分かれており、これらは .Dq Host 指定子により区切られていて、その 指定子のパターンどれかにマッチするホストに対応するセクションが 適用されます。マッチさせるホストの名前は、コマンドラインから 与えられたものになります。 .Pp 各設定項目で最初に得られた値が使われるので、よりホストに特化した宣言を ファイルの先頭近くに置くようにし、一般的なものを後に置くのが よいでしょう。 .Pp 設定ファイルは以下のような形式になっています: .Pp 空行、および .Ql # で始まる行は、コメントとみなされます。 .Pp それ以外の場合、この行は .Dq キーワード 引数 の形式とみなされます。 とりうるキーワードとその意味は以下のとおりです (設定ファイルは大文字小文字を区別することに注意してください) : .Bl -tag -width Ds .It Cm Host (ホスト) これ以後の宣言 (次の .Cm Host キーワードが現れるまで) を、 このキーワードに与えられるパターンのどれかにマッチするホストのみに 限定します。パターン中では .Ql \&* と .Ql ? がワイルドカードとして使えます。単独の .Ql \&* は、あらゆるホストに対してのデフォルトになります。 ここでのホストとは、コマンドライン引数で与えられた .Ar hostname のことです (つまりホスト名はマッチングの前に正規化されたりしません)。 .It Cm AFSTokenPassing (AFS トークンパス) リモートホストに AFS トークンを渡すかどうかを指定します。 このキーワードがとりうる引数の値は .Dq yes あるいは .Dq no のどちらかになります。 .It Cm BatchMode (バッチ処理モード) これが .Dq yes に設定されているときは passphrase および password の 問い合わせが禁止されます。このオプションはスクリプトその他の バッチ処理中で、パスワードを打ち込むユーザがいない場合に有用です。 引数の値は .Dq yes あるいは .Dq no です。 .It Cm CheckHostIP (ホスト IP のチェック) このフラグが .Dq yes に設定されていると、ssh は .Pa known_hosts ファイルにあるホストの IP アドレスも加えてチェックするようになります。 これによって、DNS 詐称によりホスト鍵が変えられたことを 検出できます。このオプションが .Dq no に設定されている場合は、このチェックは行われません。 .It Cm Cipher (暗号化アルゴリズム) プロトコル バージョン 1 のセッションで使われる暗号化の アルゴリズムを指定します。現在のところ .Dq blowfish および .Dq 3des がサポートされており、デフォルトは .Dq 3des です。 .It Cm Ciphers (複数の暗号化アルゴリズム) プロトコル バージョン 2 で許可されている暗号化アルゴリズムの 優先順位を指定します。複数の暗号化アルゴリズムを指定する場合は カンマで区切ってください。デフォルトは .Dq 3des-cbc,blowfish-cbc,cast128-cbc,arcfour です。 .It Cm Compression (圧縮) データ圧縮を行うかどうかを指定します。 引数の値は .Dq yes あるいは .Dq no です。 .It Cm CompressionLevel (圧縮レベル) 圧縮をおこなうさいの圧縮レベルを指定します。この引数がとる値は 整数の 1 (高速) から 9 (遅いが高圧縮) までです。デフォルトの 値は 6 で、ほとんどのアプリケーションにはこれで充分です。 この値の意味は .Xr gzip 1 と同じです。 .It Cm ConnectionAttempts (接続試行回数) 接続を試みる回数 (1秒に一回) を指定します。これを越えると ssh は rsh に移行するか、終了してしまいます。この値は整数で なければなりません。これは、ときどき接続に失敗する環境での スクリプトなどに有用です。 .It Cm DSAAuthentication (DSA 認証) DSA 認証を行うかどうかを指定します。この引数の値は .Dq yes か .Dq no . です。DSA 認証は DSA identity ファイルが存在するときにのみ 試されます。このオプションはプロトコル バージョン 2 にしか適用されません。 .It Cm EscapeChar (エスケープ文字) エスケープ文字を設定します (デフォルトは .Ql ~ )。エスケープ文字はコマンドラインからも指定できます。 この引数には 1つの文字か、 .Ql ^ に1文字を付けたもの、あるいはエスケープ文字の使用をすべて禁止するなら .Dq none を指定します (これはその接続を、バイナリ データに対して透過にすることになります)。 .It Cm FallBackToRsh (rsh への退行) .Nm 経由の接続が拒否された (connection refused、リモートホスト上で .Xr sshd 8 が listen していない) とき、かわりに (このセッションが 暗号化されていないという適切な警告のあとで) .Xr rsh 1 を自動的に使うべきかどうかを指定します。この引数の値は .Dq yes または .Dq no です。 .It Cm ForwardAgent (エージェント転送) 認証エージェントへの接続を、(それがあれば) リモートマシンに 転送するかどうかを指定します。この引数の値は .Dq yes あるいは .Dq no でなければならず、デフォルトは .Dq no です。 .It Cm ForwardX11 (X11 転送) X11 接続を自動的に安全な通信路へリダイレクトし、 .Ev DISPLAY を設定するかどうかを指定します。この引数の値は .Dq yes あるいは .Dq no でなければならず、デフォルトは .Dq no です。 .It Cm GatewayPorts (ゲートウェイポート) ローカルから転送されたポートに、リモートホストが接続することを 許可するかどうかを指定します。この引数の値は .Dq yes または .Dq no でなければならず、デフォルトは .Dq no です。 .It Cm GlobalKnownHostsFile (大域的 known_host ファイル) .Pa /etc/ssh/ssh_known_hosts のかわりに使用するファイルを指定します。 .It Cm HostName (本当のホスト名) ログインする本当のホスト名を指定します。これはホストの ニックネームや省略形を指定するときに使います。デフォルトは コマンドラインから与えられた名前になります。 (コマンドライン、 .Cm HostName 指示子の両方とも) 数字の IP アドレスでもかまいません。 .It Cm IdentityFile (identity ファイル) ユーザの RSA 認証用 identity (秘密鍵) を読むファイルを 指定します (デフォルトはユーザのホームディレクトリにある .Pa $HOME/.ssh/identity です)。加えて、認証のさいには認証エージェントによって現れる identity も 使われます。ファイル名ではユーザのホームディレクトリを表すのに チルダ表記を使うことができます。設定ファイルには複数の identity が 指定されていてもよく、この場合すべての identity が順に試されます。 .It Cm IdentityFile2 (identity ファイル 2) ユーザの DSA 認証用 identity (秘密鍵) を読むファイルを 指定します (デフォルトはユーザのホームディレクトリにある .Pa $HOME/.ssh/id_dsa です)。ファイル名はユーザのホームディレクトリを 表すのにチルダ表記を使うことができます。 設定ファイルには複数の identity が指定されていてもよく、 この場合すべての identity が順に試されます。 .It Cm KeepAlive (生かしておく) システムが相手のマシンに keepalive メッセージを送るべきかどうかを 指定します。これが送られると、接続の異常終了や相手マシンの クラッシュが通知されるようになります。しかし、これは 経路が一時的にダウンしていても接続が死んでいるということになってしまい、 これが気にいらない人もいます。 .Pp デフォルトは .Dq yes です (keepalive を送る)。クライアントはネットワークがダウンするか、 リモートホストが落ちると通知してきます。 これはスクリプト中では重要であり、多くのユーザもそれを望んでいます。 .Pp Keepalive を禁止するには、 クライアントとサーバ両方の側の設定ファイルでこの値を .Dq no にする必要があります。 .It Cm KerberosAuthentication (Kerberos 認証) Kerberos 認証を使うべきかどうか指定します。この引数の値は .Dq yes あるいは .Dq no です。 .It Cm KerberosTgtPassing (Kerberos TGT パス) Kerberos TGT がサーバを転送するかどうかを指定します。これは その Kerberos サーバが実際に AFS kaserver であるときのみ 機能します。この引数の値は .Dq yes あるいは .Dq no です。 .It Cm LocalForward (ローカル転送) ローカルマシンの TCP/IP ポートを、安全な通信路を経由させて リモートマシン上から与えられた host:port に転送するよう指示します。 最初の引数はポートで、2番目の引数には host:port の形で指定します。 ポート転送は複数指定することができ、コマンド ラインから追加指定することもできます。特権ポートを転送できるのは スーパーユーザだけです。 .It Cm LogLevel (ログレベル) .Nm ssh が出力するログメッセージの冗長性レベルを指定します。 とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE および DEBUG。 デフォルトでは INFO です。 .It Cm NumberOfPasswordPrompts (パスワード試行回数) パスワードを何回まで訊くかを指定します。 これを越えるとあきらめてしまいます。 このキーワードの引数は整数でなくてはなりません。 デフォルト値は 3 です。 .It Cm PasswordAuthentication (パスワード認証) パスワード認証を使うかどうかを指定します。この引数の値は .Dq yes または .Dq no です。このオプションはプロトコル バージョン 1 と 2 の 両方に適用されることに注意してください。 .It Cm Port (ポート) リモートホストに接続するときのポート番号あるいはポート名を指定します。 デフォルトは 22 です。 .It Cm Protocol (プロトコル) .Nm がサポートすべきプロトコルのバージョンの優先順位を指定します。 とりうる値は .Dq 1 と .Dq 2 で、複数のバージョンを 指定するときはカンマで区切ってください。デフォルト値は .Dq 1,2 です。これは .Nm がまず始めにバージョン 1 を試し、それが失敗した場合に バージョン 2 を試すことを指示しています .It Cm ProxyCommand (プロキシ コマンド) サーバに接続するのに使用するコマンドを指定します。コマンド文字列は .Pa /bin/sh によって実行され、これは行末まで書くことができます。 コマンド文字列では、 .Ql %h は接続するホスト名に置換され、 .Ql %p はポート番号あるいはポート名に置換されます。 コマンドは基本的に何でもよいのですが、標準入力から読み込み、 標準出力に書き込むようなものでなければいけません。 これは最終的にサーバマシン上で動いている .Xr sshd 8 に接続するか、どこか別の場所で .Ic sshd -i を起動させるようにします。ホスト鍵の管理は接続されているホストの HostName を使って行われます (デフォルトでは、これはユーザが タイプした名前になります)。このオプションを使うと、 .Cm CheckHostIP は使用できませんので注意してください。 [訳注: それと rhosts 認証も使用できなくなります。これは 特権ポートから接続を張る方法がないためです] .Pp .It Cm RemoteForward (リモート転送) リモートマシン上の TCP/IP ポートを、安全な通信路を経由させて ローカルマシン上から与えられた host:post に転送するよう指示します。 最初の引数はポートで、2番目の引数には host:port の 形で指定します。ポート転送は複数指定することができ、コマンド ラインから追加指定することもできます。特権ポートを転送できるのは スーパーユーザだけです。 .It Cm RhostsAuthentication (rhosts 認証) Rhosts ベースの認証を試みるかどうかを指定します。この宣言は クライアント側にのみ影響し、セキュリティにまったくなんの 効果もないことに注意してください。rhosts 認証を禁止すると、 rhosts 認証が使われないときに、遅い接続での認証にかかる時間が 短縮されます。ほとんどのサーバでは RhostsAuthentication は 安全でないという理由で許可されていません (RhostsRSAAuthenticationを参照)。 この引数の値は .Dq yes または .Dq no です。 .It Cm RhostsRSAAuthentication (rhosts-RSA 認証) RSA ホスト認証を使った Rhosts ベースの認証を試みるかどうかを 指定します。これはほとんどのサイトでの基本的な認証方法です。 この引数の値は .Dq yes または .Dq no です。 .It Cm RSAAuthentication (RSA 認証) RSA 認証を試みるかどうかを指定します。この引数の値は .Dq yes または .Dq no にしてください。RSA 認証は identity が存在するか、 認証エージェントが動いているときにのみ試されます。このオプションは プロトコル バージョン 1 にしか適用されないので注意してください。 .It Cm SkeyAuthentication (s/key 認証) .Xr skey 1 認証を使うかどうかを指定します。引数の値は .Dq yes あるいは .Dq no になります。デフォルトは .Dq no です。 .It Cm StrictHostKeyChecking (厳格なホスト鍵チェック) このフラグが .Dq yes に設定されていると、 .Nm が .Pa $HOME/.ssh/known_hosts および .Pa $HOME/.ssh/known_hosts2 に自動的にホスト鍵を追加することはしなくなり、ホスト鍵が変わっている ホストには接続を拒否します。これはトロイの木馬攻撃に対する最大の 防御になります。しかし適切な .Pa /etc/ssh/ssh_known_hosts や .Pa /etc/ssh/ssh_known_hosts2 ファイルをもっていないものの、 しょっちゅう新しいホストに接続するような場合は、この機能は余計な お世話になります。基本的にこのオプションは、ユーザが新しいホストを 手で追加するよう強制するものです。ふつうこのオプションは 禁止されていて、新しいホストは自動的に known_hosts ファイルに 追加されていきます。どちらの場合も known_hosts にあるホスト鍵は 自動的に検証されます。この引数の値は .Dq yes または .Dq no です。 .It Cm UsePrivilegedPort (特権ポートの使用) 外に向けての接続をおこなうときに、 特権ポートを使用するかどうかを指定します。この引数の値は .Dq yes または .Dq no で、デフォルトは .Dq yes になっています。このオプションを .Dq no にすると .Cm RhostsAuthentication および .Cm RhostsRSAAuthentication が使えなくなることに注意してください。 [訳注: .Cm ProxyCommand を使っているときも特権ポートは 使えないため、これらの認証は使えなくなります。] .It Cm User (ユーザ) ログインするユーザ名を指定します。これは異なるマシン上で 異なるユーザ名を持っているような場合に有用です。 これでコマンドラインからわざわざユーザ名を与えなくてもすみます。 .It Cm UserKnownHostsFile (known_hosts ファイルの使用) .Pa $HOME/.ssh/known_hosts の代わりに使われるファイルを指定します。 .It Cm UseRsh (rsh の使用) このホストに対して rlogin/rsh が使われるべきかどうかを指定します。 相手のホストが .Nm プロトコルをまったくサポートしていないということもあり得ます。 こうなったとき .Nm .Xr rsh 1 を exec します。このオプションが指定されていると、 これ以外のすべてのオプション ( .Cm HostName を除く) は無視されます。とりうる値は .Dq yes あるいは .Dq no です。 .It Cm XAuthLocation (xauth の位置) .Xr xauth 1 プログラムの場所を指定します。デフォルトは .Pa /usr/X11R6/bin/xauth です。 .El .Sh 環境変数 .Nm はふつう以下の環境変数を設定します: .Bl -tag -width Ds .It Ev DISPLAY .Ev DISPLAY 変数は X11 サーバの場所を示しています。これは .Nm によって、 .Dq hostname:n という形の値が自動的にセットされます。 ここで hostname の部分はシェルが走っているホストを表しており、 n は n \*(>= 1 の整数です。 .Nm はX11 接続を安全な通信路で転送するために、この特別な値を使うのです。 ユーザはふつう DISPLAY を明示的に設定すべきではありません。 なぜならそうすると X11 の接続が安全でなくなってしまうからです (しかもユーザは認証に必要なクッキーを手でコピーしなければならなくなります)。 .It Ev HOME ユーザのホームディレクトリのパス名に設定されます。 .It Ev LOGNAME .Ev USER と同じです。この環境変数を使うシステムで互換性を保つために設定されます。 .It Ev MAIL ユーザのメールボックスを指しています。 .It Ev PATH デフォルトの .Ev PATH です。これは .Nm ssh のコンパイル時に指定されます。 .It Ev SSH_AUTH_SOCK 認証エージェントと通信するのに使われる Unix ドメインソケットの パスを表しています。 .It Ev SSH_CLIENT 接続の末端にあるクライアントの識別子です。この変数にはスペースで 区切られた 3つの値が入っています: クライアントの IP アドレス、 クライアントのポート、および サーバのポート。 .It Ev SSH_TTY 現在のシェルあるいはコマンドに割り当てられている tty の名前 (端末装置へのパス) にセットされます。現在のセッションが端末を 持たない場合、この変数はセットされません。 .It Ev TZ デーモンが起動したとき、現在の時間帯を表すタイムゾーン変数が セットされていると、それがここにセットされます (つまりデーモンは その値を新規の接続に渡します)。 .It Ev USER ログインしているユーザ名にセットされます。 .El .Pp これらに加えて、 .Nm は .Pa $HOME/.ssh/environment を読み込み、 .Dq VARNAME=value という形式の行を環境変数に追加します。 -.Sh ファイル +.Sh 関連ファイル .Bl -tag -width Ds .It Pa $HOME/.ssh/known_hosts ユーザがログインしたことのあるホストすべてのホスト鍵 ( .Pa /etc/ssh/ssh_known_hosts にないもの) を記録します。 .Xr sshd 8 も見てください。 .It Pa $HOME/.ssh/identity, $HOME/.ssh/id_dsa RSA および DSA 認証用のユーザの identity (秘密鍵)を格納します。 これらのファイルには他人に見られるとまずいデータが入っているため、 そのユーザには読めても、他人からはアクセスできないようにしてください (読み込み/書き込み/実行属性ともに)。 .Nm は、他人がアクセスできるようになっている identity ファイルは無視するので注意してください。 鍵を作成するときにパスフレーズを指定することも可能です。この パスフレーズはファイル中の見られるべきでない部分を、 3DES を使って暗号化するのに用いられます。 .It Pa $HOME/.ssh/identity.pub, $HOME/.ssh/id_dsa.pub 認証のための公開鍵を格納します (鍵ファイルのうち公開できる 部分が可読形式で格納されています)。 .Pa $HOME/.ssh/identity.pub ファイルの内容は、RSA 認証を使ってログインしたいすべてのマシン上の .Pa $HOME/.ssh/authorized_keys ファイルに加えられていなければいけません。また、 .Pa $HOME/.ssh/id_dsa.pub ファイルの内容も同様に、 DSA 認証を使ってログインしたいすべてのマシン上にある .Pa $HOME/.ssh/authorized_keys2 ファイルに加えられている必要があります。 これらのファイルは見られてもよいため、他人が読めるように しておいてもかまいません (が必須ではないです)。これらのファイルが 自動的に使われることは決してなく、必要でもありません。これはただ ユーザの便宜をはかるために提供されています。 .It Pa $HOME/.ssh/config これはユーザごとの設定ファイルです。 このファイルの形式は上で説明されているものです。 このファイルは .Nm クライアントによって使われます。 このファイルはふつう特に見られてはまずい情報は含んでいません。 しかし望ましいパーミッションとしては、そのユーザからは 読み/書きが可能で、他人からはアクセス不可能に しておくのがよいでしょう。 .It Pa $HOME/.ssh/authorized_keys このユーザのログインに使われる RSA 公開鍵のリストです。この形式は .Xr sshd 8 のマニュアルで説明されています。 このファイルのいちばん簡単な形式は、 .pub 公開鍵ファイルと同じにすることです (つまり各行に、係数のビット数、公開されている指数、 係数およびコメントフィールドがスペースで区切られて 格納される)。これは見られても非常にまずいというものでは ありませんが、できればこのユーザからは読み/書きが可能で、 他人からはアクセス不可能なパーミッションに設定しておくのがよいでしょう。 .It Pa $HOME/.ssh/authorized_keys2 このユーザのログインに使われる DSA 公開鍵のリストです。この ファイルも見られて非常にまずいというものではありませんが、 このユーザからは読み/書きが可能で、他人からはアクセス不可能の パーミッションを設定しておくのがよいでしょう。 .It Pa /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2 システム全体にわたる known hosts 鍵です。 .Pa /etc/ssh/ssh_known_hosts は RSA 鍵を、 .Pa /etc/ssh/ssh_known_hosts2 は DSA 鍵を格納します。 これらのファイルはシステム管理者によって用意され、その組織内で 使われるすべてのマシン用の公開ホスト鍵を格納するようになっているはずです。 このファイルは誰からも読めるようになっていなければいけません。 このファイルは 1行ごとに公開鍵を格納し、これは次のような 形式になっています (各フィールドはスペースで区切られます): システム名、係数のビット数、公開されている指数、係数、そして オプションとしてコメント用フィールド。同一のマシンにいくつかの 異なる名前が使われている場合は、それらをずべてカンマで区切って 列挙する必要があります。この形式は .Xr sshd 8 マニュアルページで説明されています。 .Pp .Xr sshd 8 がログイン時にクライアント側のホストを検証するさいには、 システムの正式な名前 (ネームサーバの返す canonical name) が 使われます。これ以外の名前が必要なのは次のような理由によります。 .Nm は、鍵を検査する前にユーザの指定した名前を正式なものに変換する、 ということをしません。何物かがネームサーバに仕掛けを入れれば、 これを使ってホスト認証をだますことが可能になってしまうからです。 .It Pa /etc/ssh/ssh_config システム全体にわたる設定ファイルです。このファイルはユーザの設定 ファイルでは指定されなかった値を提供し、また設定ファイルを 持たないユーザのためのデフォルトにもなります。このファイルは 誰にでも読み込み可能でなければいけません。 .It Pa $HOME/.rhosts このファイルは .Pa \&.rhosts 認証で使われる、ログインを許可されたホスト名と ユーザの対の一覧です。(このファイルは rlogin と rsh でも 使われるので、安全ではありません。) ファイル中の各行はホスト名 (ネームサーバが返す正式な形式のもの) およびそのホストでの ユーザ名をスペースで区切って格納します。 ユーザのホームディレクトリが NFS パーティション上にあるような マシンでは、このファイルは誰にでも読み込み 可能でなければなりません。 .Xr sshd 8 はこれを root として読むからです。 加えて、このファイルはそのユーザの所有でなければならず、 他の人が書き込み可能であってはいけません。 ほとんどのマシンにおける推奨されるパーミッションは、そのユーザが 読み書き可能で、他の人はアクセス不可能というものです。 .Pp デフォルトでは、 .Xr sshd 8 で \s+2.\s0rhosts 認証が許可されるには、 まず RSA ホスト認証に成功することが必要になっています。 サーバマシンが .Pa /etc/ssh/ssh_known_hosts の中にそのクライアントのホスト鍵を持っていない場合は、 .Pa $HOME/.ssh/known_hosts ファイルにそれを入れておくことができます。 これをするのにいちばん簡単なのは、サーバマシンから ssh を使ってクライアントマシンに接続し直すことです。 こうすることにより、そのホスト鍵が自動的に .Pa $HOME/.ssh/known_hosts に追加されます。 .It Pa $HOME/.shosts このファイルは .Pa \&.rhosts とまったく同じように扱われます。このファイルは、 .Xr rlogin 1 や .Xr rsh 1 ではログインできないようにしつつ、 .Nm で rhosts 認証を使えるようにするためにあります。 .It Pa /etc/hosts.equiv このファイルは .Pa \&.rhosts 認証で使われます。ここには正式なホスト名が各行に記載されています (この形式の完全な説明は .Xr sshd 8 マニュアルページにあります)。このファイルに クライアントホストが載っていると、クライアント側とサーバ側の ユーザ名が同じ場合にログインは自動的に許可されます。普通は RSA ホスト認証が成功してからでなくてはいけません。このファイルは root のみが書き込めるようにしておくべきです。 .It Pa /etc/ssh/shosts.equiv このファイルは .Pa /etc/hosts.equiv とまったく同じように扱われます。このファイルは .Nm を使うが、rsh/rlogin は使わないユーザのログインを許可するのに有用です。 .It Pa /etc/ssh/sshrc このファイルのコマンドは、ユーザがログインしてシェル (あるいはコマンド) が開始する直前に .Nm によって実行されます。より詳しい情報については .Xr sshd 8 マニュアルページを見てください。 .It Pa $HOME/.ssh/rc このファイルのコマンドは、ユーザがログインしてシェル (あるいはコマンド) が開始する直前に .Nm によって実行されます。より詳しい情報については .Xr sshd 8 マニュアルページを見てください。 .It Pa $HOME/.ssh/environment 環境変数の追加定義を格納します。上の .Sx 環境変数 の節を見てください。 .It Pa libcrypto.so.X.1 ssh が動作するためには、このライブラリで RSA アルゴリズムの サポートを含むバージョンが必要です。 .El .Sh 作者 OpenSSH は Tatu Ylonen によってリリースされたオリジナルの (フリー) ssh 1.2.12 から派生したものです。しかしバグがとり除かれ、より新しい機能が 追加されています。1.2.12 がリリースされるとすぐに、オリジナルの ssh は だんだんと制限されたライセンスになっていき、フリーのバージョンに対する 要求が生まれました。 .Pp このバージョンの OpenSSH は… .Bl -bullet .It 何らかの制限的事項 (つまり特許など。 .Xr ssl 8 を参照) がついているコンポーネントはすべて、 ソースコードから直接削除されています。 かわりにライセンスあるいは特許つきのコンポーネントは、 外部ライブラリから取り込まれます。 .It SSH プロトコル 1.5 と 2 をサポートするようにアップデートされました。 これで他のすべての SSH クライアントやサーバと互換になります。 .It .Xr kerberos 8 認証とチケットパスの追加サポートが含まれています。 .It .Xr skey 1 を用いた、使い捨てパスワード (one-time password) 認証をサポートしています。 .El .Pp OpenSSH は以下の人々によって製作されました: Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, そして Dug Song。 .Pp SSH プロトコル 2 のサポートは Markus Friedl の手によるものです。 .Sh 日本語訳 新山 祐介 (euske@cl.cs.titech.ac.jp) 2000/11/23 .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 、および .Fx jpman プロジェクト までお送りください。 .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr scp 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr ssh-keygen 1 , .Xr telnet 1 , .Xr sshd 8 , .Xr ssl 8 diff --git a/ja_JP.eucJP/man/man8/dhclient-script.8 b/ja_JP.eucJP/man/man8/dhclient-script.8 index c449ceb6b0..94ad06ad5e 100644 --- a/ja_JP.eucJP/man/man8/dhclient-script.8 +++ b/ja_JP.eucJP/man/man8/dhclient-script.8 @@ -1,251 +1,251 @@ .\" dhclient-script.8 .\" .\" Copyright (c) 1997 The Internet Software Consortium. .\" 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. .\" 3. Neither the name of The Internet Software Consortium nor the names .\" of its contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND .\" CONTRIBUTORS ``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 INTERNET SOFTWARE CONSORTIUM OR .\" CONTRIBUTORS 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. .\" .\" This software has been written for the Internet Software Consortium .\" by Ted Lemon in cooperation with Vixie .\" Enterprises. To learn more about the Internet Software Consortium, .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. .\" .\" .\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient-script.8,v 1.5.2.2 2001/03/05 10:09:32 obrien Exp % .\" .\" jpman %Id: dhclient-script.8,v 1.4 1999/05/13 14:01:25 horikawa Stab % .TH dhclient-script 8 .SH 名称 dhclient-script - DHCP クライアントのネットワーク設定スクリプト -.SH 書式 +.SH 解説 DHCP クライアントのネットワーク設定スクリプトは、 時あるごとに \fBdhclient(8)\fR が呼び出します。 DHCP クライアントは、本スクリプトを使用することにより、 アドレス要求に先立つ各インタフェースの初期設定と、 付与されたアドレスの検査と、 リース獲得時のインタフェースの最終設定を行います。 リースが獲得されなかった場合、 定義済みのリースが存在するならばこれを検査するために本スクリプトは使用され、 有効なリースが判明しなかった場合にももう 1 回このスクリプトが呼ばれます。 .PP 本スクリプトは、エンドユーザにカスタマイズされることを意図していません。 ローカルなカスタマイズが必要な場合、 これは入 (enter) と出 (exit) というフックを使用することで可能となります (詳細はフック参照)。 これらのフックは、 .B /etc/resolv.conf 作成時に、 クライアントのデフォルト動作をユーザがオーバライドできるようにします。 .PP 特定のオペレーティングシステムでは、 クライアントの実体は動作するとしても、 標準のスクリプトが動作しないかもしれません。 先駆的なユーザが新規スクリプトを作成したり既存のものを修正したりする必要がある ことはもっともなことです。 一般的には、それぞれのコンピュータに固有のカスタマイズは .B /etc/dhclient.conf スクリプトで行うべきです。 .B /etc/dhclient.conf のカスタマイズ無しにできないカスタマイズや、 入と出のフックの使用ではできないカスタマイズに気づいた場合には、 バグレポートを送ってください。 .SH フック 開始時に、クライアントスクリプトはまずシェル関数を定義します。その関数は .B make_resolv_conf であり、後に .B /etc/resolv.conf ファイルを作成するために使用されます。 デフォルト動作をオーバライドするには、 この関数を入のフックスクリプトで再定義してください。 .PP make_resolv_conf 関数の定義の後、クライアントスクリプトは 実行可能な .B /etc/dhclient-enter-hooks スクリプトの存在を検査し、 存在する場合には Bourne シェルの '.' コマンドを使用して 本スクリプトをインラインで起動します。 操作で記述されているすべての環境が本スクリプトで使用可能であり、 スクリプトの動作の変更が必要な場合には環境の修正が許されています。 スクリプト実行中にエラーが発生た場合、 exit_status 変数を非 0 値に設定することが可能であり、 クライアントスクリプト終了直後に .B /sbin/dhclient-script はそのエラーコードで終了します。 .PP すべての処理の完了後に、 .B /sbin/dhclient-script は実行可能な .B /etc/dhclient-exit-hooks スクリプトの存在を検査し、存在する場合には '.' コマンドでこれを起動します。 終了状態は exit_status シェル変数に渡され、 起動された仕事にスクリプトが成功した場合には値は常に 0 になります。 .SH 操作 dhclient がクライアント設定スクリプトを起動する必要があるとき、 様々な変数を定義するシェルスクリプトを /tmp に書き込みます。 すべての場合において、$reason にはスクリプトが起動される理由名が設定されます。 次の理由が現在定義されています: MEDIUM, PREINIT, ARPCHECK, ARPSEND, BOUND, RENEW, REBIND, REBOOT, EXPIRE, FAIL, TIMEOUT。 .PP .SH MEDIUM DHCP クライアントは、インタフェースのメディアタイプの設定を求めています。 インタフェース名は $interface で渡され、メディアタイプは $medium で渡されます。 .SH PREINIT DHCP クライアントは、 実際のアドレスを受け取る前にパケットを送信する目的で、 要求通りにインタフェースが設定されることを求めています。 BSD のソケットライブラリを使用するクライアントでは、 IP アドレス 0.0.0.0 かつブロードキャストアドレス 255.255.255.255 で、 インタフェースを設定することを意味します。 他のクライアントでは、 実際に IP アドレスを与えることなく単にインタフェースを設定することで 実現されるでしょう。 インタフェース名は $interface で渡され、メディアタイプは $medium で渡されます。 .PP IP エイリアスが dhclient.conf で宣言されている場合、 このアドレスが $alias_ip_address で渡されます。 本 IP アドレスへの経路とともに、 本 IP アドレスを対象インタフェースから削除する必要があります。 .SH ARPSEND DHCP クライアントは、 与えられたアドレスを他の誰かが使用しているか確認する目的で、 本アドレスの ARP 要求の送信を求めています。 実装方法は明確ではありませんので、例はまだありません。 確認対象の IP アドレスは $new_ip_address で渡され、 インタフェース名は $interface で渡されます。 .SH ARPCHECK DHCP クライアントは、 ARPSEND を使用した ARP 要求の送信に対する応答の有無を、知りたがっています。 応答があった場合、スクリプトは非 0 の状態で終了することにより、 提供されたアドレスは既に要求されているものであり、 拒否されるべきであることを示します。 $new_ip_address および $interface は、ARPSEND と同様に設定されます。 .SH BOUND DHCP クライアントは、新アドレスへの初期の結合を完了しました。 新しい IP アドレスは $new_ip_address で渡され、 インタフェース名は $interface で渡されます。 メディアタイプは $medium で渡されます。 サーバから獲得したオプションは、\fBdhcp-options\fR で宣言されている オプション名で渡されます。 例外として、 有効なシェル変数とするために ダッシュ ('-') はアンダスコア('_')で置き換えられ、 変数名は new_ で開始します。 例えば、新しいサブネットマスクは $new_subnet_mask で渡されます。 .PP 結合が完了すると、 ネットワークに関する多くのパラメータを設定する必要があるでしょう。 $new_domain_name および $new_domain_name_servers (これには複数のサーバを空白で区切って列挙してあるかもしれません) を使用して、 新しい /etc/resolv.conf を作成する必要があります。 デフォルト経路は、$new_routers を使用して設定する必要があります。 静的経路は、$new_static_routes を使用して設定する必要があるかもしれません。 .PP IP エイリアスが宣言されている場合、ここで設定する必要があります。 エイリアスの IP アドレスは $alias_ip_address として記述され、 エイリアス用に設定される他の DHCP オプション (例えばサブネットマスク) は 前述のように変数で渡されますが、 $new_ で開始するのではなく $alias_ で開始します。 エイリアスの IP アドレスが結合された IP アドレス ($new_ip_address) と 同じ場合、これを使用してはならないことに注意してください。 なぜなら、この場合には他のエイリアスのパラメータが正しくない可能性がある からです。 .SH RENEW 結合が更新されると、スクリプトは BOUND と同様に呼ばれますが、 $new_ で開始する全変数に加えて $old で開始する別の変数の組があるという 例外があります。 変更された可能性がある永続的な設定は、削除する必要があります。 例えば、結合されたアドレスに対するローカル経路が設定された場合、 古いローカル経路を削除する必要があります。 デフォルト経路が変更された場合、古いデフォルト経路を削除する必要があります。 静的経路が変更された場合、古いものを削除する必要があります。 その他については、BOUND と同様に処理可能です。 .SH REBIND DHCP クライアントが、新規 DHCP サーバに再結合されました。 これは RENEW と同様に扱えますが、IP アドレスが変わった場合には、 ARP 表をクリアする必要があります。 .SH REBOOT DHCP クライアントは、リブート後に元のアドレスを再獲得することに成功しました。 これは BOUND と同様に処理可能です。 .SH EXPIRE DHCP クライアントはリース更新と新規リース獲得に失敗し、 リースの期限が切れました。 対象 IP アドレスを解放する必要があり、 RENEW および REBIND と同様に、関連するパラメータを削除する必要があります。 .SH FAIL DHCP クライアントは DHCP サーバに接続できず、 また検査した IP アドレスには有効なものはありませんでした。 最後に検査したリースのパラメータは、設定解除する必要があります。 これは、EXPIRE と同様に扱えます。 .SH TIMEOUT DHCP クライアントはどの DHCP サーバにも接続できませんでした。 しかしながら、古いリースが識別され、 BOUND と同様に、この古いリースのパラメータが渡されました。 クライアントの設定スクリプトは、このパラメータを検査し、 これが有効であると信じる理由があるならば、値 0 で終了すべきです。 そうでないならば、非 0 の値で終了すべきです。 .PP リースを検査する通常の方法は、REBIND と同様にネットワークを設定して (複数のリースを検査するために呼ばれることがあるからです)、 $routers で定義される最初のルータに ping することです。 応答を受信した場合、 インタフェースが現在接続されているネットワークに対して、リースが有効です。 $new_static_routers に加えて $new_routers に列挙されている全ルータに ping を試すようになれば、 完全性が増すでしょう。しかし、現在のスクリプトはそうなっていません。 .SH 関連ファイル 類似したオペレーティングシステムに対するスクリプトファイルは 似ていたり全く同じかもしれませんが、一般には、 各オペレーティングシステム用に各々のスクリプトファイルがあるべきです。 Internet Software Consortium の DHCP 配布に含まれるスクリプトファイルは、 client/scripts 以下の配布ツリーにあり、 動作対象オペレーティングシステム名になっています。 .SH バグ 複数インタフェースを使用する場合、 サーバが提供する設定パラメータ同士が 衝突しないようにする明確な方法はありません。 例えば、 標準の dhclient-script は /etc/resolv.conf を再度書き換えてしまいます。 すなわち、複数のインタフェースが設定されている場合、 あるサーバから提供される値に /etc/resolv.conf が初期化された後に、 別のサーバから提供される値に初期化されるという動作を繰り返します。 どちらのサーバから提供される情報も有効である場合には、 実際上問題とはならないものの、混乱のもとになりえます。 .SH 関連項目 dhclient.conf(5), dhclient.leases(5), dhclient(8), dhcpd(8), dhcrelay(8) .SH 作者 .B dhclient-script(8) は Ted Lemon が Vixie Enterprises と協力して Internet Software Consortium のために 書きました。 Internet Software Consortium についてより詳しくは、 .B http://www.vix.com/isc をご覧ください。 Vixie Enterprises についてより詳しくは、 .B http://www.vix.com をご覧ください。 diff --git a/ja_JP.eucJP/man/man8/sftp-server.8 b/ja_JP.eucJP/man/man8/sftp-server.8 index 5979d171a3..113a131a8b 100644 --- a/ja_JP.eucJP/man/man8/sftp-server.8 +++ b/ja_JP.eucJP/man/man8/sftp-server.8 @@ -1,70 +1,70 @@ .\" $OpenBSD: sftp-server.8,v 1.3 2000/10/13 17:20:44 aaron Exp $ .\" .\" Copyright (c) 2000 Markus Friedl. 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% .\" jpman %Id% .\" .Dd August 30, 2000 .Dt SFTP-SERVER 8 .Os -.Sh 名前 +.Sh 名称 .Nm sftp-server .Nd SFTP サーバ サブシステム .Sh 書式 .Nm sftp-server -.Sh 説明 +.Sh 解説 .Nm はサーバ側の SFTP プロトコルを標準出力に向かって話し、 クライアント側の要求を標準入力から受けつけます。 .Nm は直接 実行されるためにあるのではなく、 .Xr sshd 8 の .Cm Subsystem オプションを使って呼び出します。 より詳しい情報については .Xr sshd 8 を見てください。 .Sh 関連項目 .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-keygen 1 , .Xr sshd 8 .Sh 作者 Markus Friedl .Sh 歴史 .Nm は .Ox 2.8 で最初に登場しました。 .Sh 日本語訳 新山 祐介 (euske@cl.cs.titech.ac.jp) 2000/11/23 .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 、および .Fx jpman プロジェクト までお送りください。 diff --git a/ja_JP.eucJP/man/man8/sshd.8 b/ja_JP.eucJP/man/man8/sshd.8 index 30a615ddef..b81d7acd59 100644 --- a/ja_JP.eucJP/man/man8/sshd.8 +++ b/ja_JP.eucJP/man/man8/sshd.8 @@ -1,1045 +1,1045 @@ .\" -*- nroff -*- .\" .\" 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. .\" .\" $OpenBSD: sshd.8,v 1.70 2000/10/16 09:38:44 djm Exp $ .\" %FreeBSD: src/crypto/openssh/sshd.8,v 1.5.2.6 2001/01/18 22:36:53 green Exp % -.\" jpman %Id% +.\" $FreeBSD:$ .\" .Dd September 25, 1999 .Dt SSHD 8 .Os -.Sh 名前 +.Sh 名称 .Nm sshd .Nd セキュア シェル デーモン .Sh 書式 .Nm sshd .Op Fl diqQ46 .Op Fl b Ar ビット数 .Op Fl f Ar 設定ファイル .Op Fl g Ar ログイン猶予時間 .Op Fl h Ar ホスト鍵ファイル .Op Fl k Ar 鍵の生成間隔 .Op Fl p Ar ポート .Op Fl u Ar 長さ .Op Fl V Ar クライアントプロトコル ID -.Sh 説明 +.Sh 解説 .Nm (セキュア シェル デーモン) は .Xr ssh 1 のためのデーモンプログラムです。 これらのプログラムはともに rlogin と rsh を置き換えるもので、 安全でないネットワーク上にある、2つの信頼されていないホスト間で、 暗号化された安全な通信を提供します。これらのプログラムはなるべく簡単に インストールでき、なるべく簡単に使えるよう配慮されています。 .Pp .Nm はクライアントからの接続を listen しているデーモンです。通常 これはブート時に .Pa /etc/rc.network から起動され、接続ごとに新しいデーモンが fork します。Fork したデーモンは、鍵の交換、暗号化、認証、コマンド実行、 そしてデータ交換を行います。この .Nm の実装では、SSH プロトコルバージョン 1 と 2 を同時にサポートしています。 .Nm は以下のように動作します。 .Pp .Ss SSH プロトコル バージョン 1 .Pp 各ホストは、そのホストに固有の RSA 鍵 (通常 1024 ビット) をもっています。 これはそれぞれのホストを識別するのに使われます。加えて、デーモンは 起動時にサーバ用 RSA 鍵 (通常 768 ビット) を生成します。 この鍵はふつう使われると 1時間おきに生成し直され、 ディスクに保存されることは決してありません。 .Pp クライアントが接続してくると、デーモンはその公開ホスト鍵およびサーバ鍵を 返します。クライアントは自分がもっているデータベースとこの RSA ホスト鍵とを 比較し、それが変更されていないことを確かめます。つぎにクライアントは 256 ビットの乱数を生成します。これをそのホスト鍵とサーバ鍵両方をつかって 暗号化し、暗号化された数値をサーバに送ります。このとき、どちらの側も この数値をセッション鍵として使います。セッション鍵とはこれ以降のすべての 通信を暗号化するのに使われるもので、以後セッションは既存の暗号化 アルゴリズムを使って暗号化されます。これらのアルゴリズムは現在のところ Blowfish または 3DES で、デフォルトでは 3DES となっています。 クライアントはサーバによって提案された暗号化アルゴリズムから 使用するものを選択します。 .Pp つぎに、サーバとクライアントは認証のための対話に入ります。クライアントは 自分自身の身分を証明するため、 .Pa .rhosts 認証や、RSA ホスト認証と組み合わせた .Pa .rhosts 認証、RSA チャレンジ-レスポンス 認証、あるいはパスワード認証を使おうとします。 .Pp Rhosts 認証は根本的に安全でないため、ふつうは禁止されています。しかし 必要とあればサーバの設定ファイルによって許可することもできます。 .Xr rshd 8 , .Xr rlogind 8 , .Xr rexecd 8 , および .Xr rexd 8 を止めないかぎり (これは .Xr rlogin 1 と .Xr rsh 1 を完全に禁止することになりますが)、 システムのセキュリティは改善されません。 .Pp .Ss SSH プロトコル バージョン 2 .Pp バージョン 2 も同様に動作します: 各ホストは固有の DSA 鍵をもっており、 これでホストを識別します。しかしデーモンが開始した時点では、これは サーバ鍵を生成しません。Diffie-Hellman の key agreement によって、 より進歩したセキュリティが提供されています。この key agreement から、 共通のセッション鍵が得られます。 これ以降セッションは対称的暗号化アルゴリズムを用いて 暗号化されます。アルゴリズムは現在のところ CBC モードの Blowfish, 3DES, CAST128 または Arcfour です。クライアントはサーバが 提案した暗号化アルゴリズムを選びます。加えて、暗号化メッセージ認証コード (hmac-sha1 あるいは hmac-md5) により、 セッションの内容が途中で改竄されてしまうことのないようにします。 .Pp プロトコル バージョン 2 は公開鍵ベースのユーザ認証 (DSAAuthentication) と、 従来のパスワード認証を提供します。 .Pp .Ss コマンド実行とデータ転送 .Pp クライアントが自分自身の証明に成功すると、セッションを準備するための 対話が始まります。このあとクライアントは仮想端末を割り当てたり、 X11 接続を転送したり、TCP/IP 接続を転送したり、あるいは安全な通信路を 経由して認証エージェントの接続を転送したりします。 .Pp 最後に、クライアントはシェルか、あるいはコマンドの実行のどちらかを 要求します。ここで双方はセッション モードに入ります。このモードでは 両者はいつでもデータを送ることができ、そのデータはサーバ側のシェル またはコマンドと、クライアント側のユーザ端末とでやりとりされます。 .Pp ユーザのプログラムが終了し、転送されたすべての X11 接続やその他の接続が 閉じられると、サーバはクライアントにコマンドの終了状態を送り、 両者は終了します。 .Pp .Nm はコマンドライン オプションか、設定ファイルによって設定することが できます。コマンドラインからのオプションは、 設定ファイルで指定されている値よりも優先されます。 .Pp .Nm はハングアップシグナル .Dv SIGHUP を受け取ると、自分の設定ファイルを読み込みなおします。 .Pp オプションには次のようなものがあります: .Bl -tag -width Ds .It Fl b Ar ビット数 サーバ鍵のビット数を指定します (デフォルトは 768 ビットです)。 .Pp .It Fl d デバッグモードにします。サーバはシステムログに対し、 冗長なデバッグ表示を出力するようになり、バックグラウンドには移行しません。 またサーバは fork せず、1回の接続しか受けつけません。 このオプションはサーバのデバッグのためだけに使ってください。 複数の -d オプションをつけるとデバッグレベルが上がります。 最高は 3 です。 .It Fl f Ar 設定ファイル 設定ファイルの名前を指定します。デフォルトは .Pa /etc/ssh/sshd_config になっています。 .Nm は設定ファイルがないと起動しません。 .It Fl g Ar ログイン猶予時間 クライアントが自分自身を認証するのにかかる猶予時間を与えます (デフォルトは 300秒)。クライアントがこの時間内にユーザを 認証できなかった場合、サーバは接続を切って終了します。ゼロを 値として与えると猶予は無限になります。 .It Fl h Ar ホスト鍵ファイル RSA ホスト鍵を読むファイルを指定します (デフォルトは .Pa /etc/ssh/ssh_host_key です)。このオプションは .Nm を root 以外で起動するときは必ず指定しなければいけません (ホスト鍵のファイルはふつう root からしか読めないようになっているからです)。 .It Fl i .Nm が inetd から起動されることを指定します。 .Nm はふつう inetd からは起動されません。なぜならこれはクライアントを 受けつける前にサーバ鍵を生成しておく必要があり、これには 数十秒かかるためです。鍵が毎回生成しなおされると、クライアントは 非常に長い間待たされてしまいます。しかし鍵のサイズが 小さければ (たとえば 512 ビットぐらい)、inetd から .Nm を使うことも、まあ可能でしょう。 .It Fl k Ar 鍵の生成間隔 サーバ鍵がどれくらいの間隔で再生成されるかを指定します (デフォルトでは 3600秒、つまり 1時間ごとになっています)。 こんなに頻繁に鍵を再生成するのは以下のような理由によります。 この鍵はどこにも格納されません。そのため、このようにしておくと たとえマシンがクラックされたり物理的に乗っ取られたりしても、 1時間後には 盗聴した通信を解読して鍵を見つけることは不可能に なります。この値としてゼロを指定すると、 鍵はまったく再生成されなくなります。 .It Fl p Ar ポート サーバが接続を受けつける (listen する) ポート番号あるいは ポート名を指定します (デフォルトは 22 です)。 .It Fl q 静かなモード。 ふつう、接続の開始、認証および終了はログに残りますが、 この場合システムログには何も残りません。 .It Fl u Ar 長さ このオプションはリモートホスト名を保持させる .Li utmp 構造体のフィールド長を指定するのに使われます。名前解決されたホストがこの .Ar len よりも長い場合、ドットで区切られた 10進の数値がかわりに保持されます。 これは非常に長いホスト名をもつホストがこのフィールドをあふれさせても、 一意に識別できるようにするためです。 .Fl u0 を指定すると .Pa utmp ファイルにはつねにドットで区切られた 10進値が使われるようになります。 .It Fl Q RSA サポートがない場合でもエラーメッセージを表示しないようにします。 .It Fl V Ar クライアント プロトコル ID SSH-2 互換モード。このオプションが指定されると、 .Nm はクライアントがあらかじめ与えられたバージョン文字列を送ってきたと仮定し、 プロトコルのバージョンを識別するための対話 (Protocol Version Identification Exchange) を省略します。このオプションは 直接使われることを意図されているものではありません。 .It Fl 4 .Nm が IPv4 アドレスのみを使うよう強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使うよう強制します。 .El .Sh 設定ファイル .Nm は .Pa /etc/ssh/sshd_config (あるいはコマンドラインから .Fl f オプションで指定したファイル) から設定情報を読み込みます。 このファイルの各行は ``キーワード 引数'' の形式になっており、 空行あるいは .Ql # で始まる行はコメントとみなされます。 .Pp 以下のキーワードが使えます。 .Bl -tag -width Ds .It Cm AFSTokenPassing (AFS トークンパス) このオプションは AFS トークンがサーバに転送されるかどうかを指定します。 デフォルトは .Dq yes です。 .It Cm AllowGroups (許可グループ) このキーワードにはいくつかのグループ名をスペースで区切って 指定します。これが指定されると、ユーザの基本グループが そのパターンのどれかにマッチするグループであるようなユーザだけが ログインを許可されます。パターン中では .Ql \&* および .Ql ? がワイルドカードとして使えます。有効なのはグループの「名前」だけで、 数字で表されたグループ ID は認識されません。デフォルトでは、 ログインはユーザの基本グループに関係なく許可されています。 .Pp .It Cm AllowTcpForwarding (TCP 転送許可) TCP 転送を許可するかどうかを指定します。デフォルトは .Dq yes です。TCP 転送を禁止しても、ユーザにシェルのアクセスを禁止しない かぎりセキュリティの向上にはならないことに注意してください。 なぜならユーザはいつでも自分自身で転送プログラムをインストール できるのですから。 .Pp .It Cm AllowUsers (許可ユーザ) このキーワードにはいくつかのユーザ名をスペースで区切って 指定します。これが指定されると、そのパターンのどれかにマッチする ユーザだけがログインを許可されます。パターン中では .Ql \&* および .Ql ? がワイルドカードとして使えます。有効なのはユーザの「名前」だけで、 数字で表されたユーザ ID は認識されません。デフォルトでは、 ログインはユーザ名に関係なく許可されています。 .Pp .It Cm Ciphers (複数の暗号化アルゴリズム) プロトコル バージョン 2 で許される暗号化アルゴリズムを指定します。 複数の暗号化アルゴリズムはカンマで区切ってください。デフォルトは .Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc になっています。 .It Cm CheckMail (メールチェック) 対話的ログインのさいに .Nm が新着メールをチェックするかどうかを指定します。デフォルトは .Dq yes です。 .It Cm DenyGroups (拒絶グループ) このキーワードにはいくつかのグループ名をスペースで区切って指定します。 ユーザの基本グループがこのパターンのどれかに マッチするようなユーザはログインを許可されません。パターン中では .Ql \&* および .Ql ? がワイルドカードとして使えます。有効なのは グループの「名前」だけで、数字で表されたグループ ID は 認識されません。デフォルトでは、ログインはユーザの基本グループに 関係なく許可されています。 .Pp .It Cm DenyUsers (拒絶ユーザ) このキーワードにはいくつかのグループ名をスペースで区切って 指定します。これが指定されると、そのパターンにマッチする このパターンのどれかにマッチするユーザはログインを許可されません。 マッチするようなユーザはログインを許可されません。パターン中では .Ql \&* および .Ql ? がワイルドカードとして使えます。 有効なのはグループの「名前」だけで、数字で表されたグループ ID は 認識されません。デフォルトでは、ログインはユーザ名に関係なく許可されています。 .It Cm DSAAuthentication (DSA 認証) DSA 認証を許可するかどうか指定します。デフォルトは .Dq yes です。このオプションは プロトコル バージョン 2 のみに適用されることに 注意してください。 .It Cm GatewayPorts (ゲートウェイポート) サーバ側からみたリモートホストが、 クライアント側に転送されたポートに接続することを 許可するかどうかを指定します。この引数の値は .Dq yes あるいは .Dq no で、デフォルトは .Dq no です。 .It Cm HostDSAKey (ホスト DSA 鍵) SSH プロトコル 2.0 で使われる、DSA のホスト秘密鍵が入っている ファイル (デフォルトは .Pa /etc/ssh/ssh_host_dsa_key ) を指定します。 このファイルがグループあるいは他人からアクセス可能になっていると、 .Nm はプロトコル 2.0 を禁止するので注意してください。 .It Cm HostKey (ホスト鍵) SSH プロトコル 1.3 および 1.5 で使われる、RSA のホスト秘密鍵が 入っているファイル (デフォルトは .Pa /etc/ssh/ssh_host_key ) を指定します。このファイルがグループあるいは他人からアクセス可能に なっていると、 .Nm はプロトコル 1.3 および 1.5 を禁止するので注意してください。 .It Cm IgnoreRhosts (rhosts の無視) 認証のさい、 .Pa .rhosts および .Pa .shosts ファイルを無視するよう指定します。この状態でも、 .Pa /etc/hosts.equiv および .Pa /etc/shosts.equiv は依然として有効です。デフォルトは .Dq yes です。 .It Cm IgnoreUserKnownHosts (ユーザ側 known_hosts の無視) .Cm RhostsRSAAuthentication のさい、 .Nm がユーザの .Pa $HOME/.ssh/known_hosts を使わないよう指定します。 デフォルトは .Dq no です。 .It Cm KeepAlive (生かしておく) システムが相手のマシンに keepalive メッセージを送るべきかどうかを 指定します。これが送られると、接続の異常終了や相手マシンの クラッシュが通知されるようになります。しかし、これは 経路が一時的にダウンしていても接続が死んでいるということに なってしまい、これが気にいらない人もいます。いっぽうで もし keepalive が送られないと、セッションはいつまでもサーバ側で ハングしているかもしれず、 .Dq ghost ユーザがいつまでも居残って サーバの資源を消費するかもしれません。 .Pp デフォルトは .Dq yes で (つまり keepalive を送るようになっており)、ネットワークがダウン したりクライアントホストがリブートした際にはサーバが通知するように なっています。これは永久にハングしつづけるセッションを回避します。 .Pp keepalive を禁止するには、サーバとクライアント両方の 設定ファイルでこの値を .Dq no に指定する必要があります。 .It Cm KerberosAuthentication (Kerberos 認証) Kerberos 認証を許可するかどうかを指定します。この認証は Kerberos チケットをつかうという形で行われます。あるいは .Cm PasswordAuthentication が yes なら、ユーザのパスワードは Kerberos KDC を経由して確認されます。 このオプションを使うためには サーバは KDC の identity を検査する Kerberos servtab を必要と します。デフォルトでは .Dq yes になっています。 .It Cm KerberosOrLocalPasswd (Kerberos がなければローカルパスワード使用) これが指定されていると Kerberos 経由のパスワード認証が 失敗したとき、そのパスワードは .Pa /etc/passwd などの別のローカルな機構によって確認されます。デフォルトは .Dq yes です。 .It Cm KerberosTgtPassing (Kerberos TGT パス) Kerberos TGT をサーバに転送してもよいかどうかを指定します。デフォルトは .Dq no です。これがまともに動くのは Kerberos KDC が 実際の AFS kaserver であるときだけだからです。 .It Cm KerberosTicketCleanup (Kerberos チケットの片づけ) ユーザのチケット用キャッシュをログアウト時に自動的に消去するかどうかを 指定します。デフォルトは .Dq yes です。 .It Cm KeyRegenerationInterval (鍵の再生成間隔) サーバ鍵は、(一度でも使われると) ここで指定された秒数ごとに 自動的に再生成されます。このように鍵を再生成する目的は、 あとでそのマシンに侵入して盗聴したセッションを解読されたり、 鍵を盗まれたりするのを防ぐためです。この鍵はどこにも格納されません。 値としてゼロを指定すると、鍵はまったく再生成されなくなります。 デフォルトでは 3600 (秒) になっています。 .It Cm ListenAddress (接続受付アドレス) .Nm が接続を受けつける (listen する) ローカルアドレスを指定します。 デフォルトではすべてのローカルアドレスに対して 接続を受けつけるようになっています。このオプションは複数指定しても かまいません。また .Cm Ports オプションはこのオプションよりも前に指定しておく必要があります。 .It Cm LoginGraceTime (ログイン猶予時間) ユーザがこの時間内でログインに成功できないと、サーバは接続を切ります。 この値をゼロにすると、時間に制限はなくなります。 デフォルトは 120 (秒) です。 [訳注: -g オプションの解説ではデフォルト 300 秒になっている。 どっちが正しいんだろう。] .It Cm LogLevel (ログレベル) .Nm sshd が出力するログメッセージの冗長性レベルを指定します。 とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE および DEBUG。デフォルトでは INFO です。DEBUG レベルのログは ユーザのプライバシーを侵害するものであり、勧められるものではありません。 .It Cm MaxStartups (最大起動数) .Nm デーモンに対する認証以前の接続を、最大で同時にどれくらい 受けつけるかを指定します。これを超える接続は認証が成功するか、 あるいは接続の .Cm LoginGraceTime (ログイン猶予時間) が切れるまで受けつけられず、捨てられます。 デフォルトではこの数は 10 です。 .Pp もうひとつの方法は、コロンで区切った 3つの値を与えることにより 早期のランダムな接続拒否を許可することです。この値は .Dq start:rate:full (``開始時:確率:最大数'') のような形をとります (例: "10:30:60" など)。 .Nm は認証以前の接続が .Dq start (この例では 10) 個を超えると、これ以後の接続要求を .Dq rate/100 (この例では 30%) の確率で拒否しはじめます。この確率は .Dq full (この例では 60) 個の接続が来るまで線形に増えつづけ、 最大数に達した時点でそれ以降すべての接続を拒否するようになります。 .It Cm PasswordAuthentication (パスワード認証) パスワード認証を許可するかどうかを指定します。デフォルトでは .Dq yes になっています。このオプションはプロトコル バージョン 1 および 2 の両方に適用されます。 .It Cm PermitEmptyPasswords (空のパスワード許可) パスワード認証が許可されているとき、パスワード文字列が空の アカウントに対してサーバがログインを許可するかどうか指定します。 デフォルトは .Dq no です。 .It Cm PermitRootLogin (root ログイン許可) .Xr ssh 1 を使って、root がログインできるかどうかを指定します。この引数の値は .Dq yes 、 .Dq without-password (パスワード認証なし)、あるいは .Dq no のいずれかになります。デフォルトは .Dq no です。このオプションを .Dq without-password にすると、root にのみ パスワード認証が不許可になります。 .Pp RSA 認証での root ログインは、 .Ar command 引数が指定されているときはこのオプションの値に関係なく許可されます (これは、通常は root ログインを禁止しても、 リモートバックアップをとるときなどに有効です)。 .It Cm PidFile (pid ファイル) .Nm デーモンのプロセス ID を格納するファイルを指定します。 デフォルトでは .Pa /var/run/sshd.pid になっています。 .It Cm Port (ポート) .Nm が接続を受けつける (listen する) ポート番号を指定します。 デフォルトは 22 です。複数指定することも可能です。 .It Cm PrintMotd (motd 表示) ユーザが対話的にログインしたとき、 .Nm が .Pa /etc/motd の内容を表示するかどうかを指定します (システムによっては、これはシェルや .Pa /etc/profile に類するものが表示します)。デフォルトは .Dq yes です。 .It Cm Protocol (プロトコル) .Nm がサポートすべきプロトコルのバージョンを指定します。 とりうる値は .Dq 1 と .Dq 2 で、複数のバージョンをカンマで 区切って指定することもできます。デフォルトは .Dq 1 です。 .It Cm RandomSeed (乱数初期値) これはもはや使われていないオプションで、 指定すると警告が表示されて無視されます。 乱数の発生は別の方法で行われます。 .It Cm RhostsAuthentication (rhosts 認証) rhosts や .Pa /etc/hosts.equiv だけを使った認証でログインを許可して しまってもよいかどうかを指定します。通常これは安全でないため 許可すべきではありません。かわりに .Cm RhostsRSAAuthentication を使うべきです。なぜならこれは通常の rhosts や .Pa /etc/hosts.equiv 認証に加えて、RSA ベースのホスト間認証を行うからです。 デフォルトではこのオプションは .Dq no になっています。 .It Cm RhostsRSAAuthentication (rhosts-RSA 認証) RSA ホスト間認証が成功しているとき、rhosts 認証や .Pa /etc/hosts.equiv 認証を使ってよいかどうかを指定します。デフォルトは .Dq no です。 .It Cm RSAAuthentication (RSA 認証) 純粋な RSA 認証を許可するかどうかを指定します。デフォルトは .Dq yes になっています。このオプションはプロトコル バージョン 1 にのみ 適用されることに注意してください。 .It Cm ServerKeyBits (サーバ鍵のビット数) サーバ鍵のビット数を定義します。最小値は 512 で、デフォルトは 768 です。 .It Cm SkeyAuthentication (s/key 認証) .Xr skey 1 認証を許可するかどうかを指定します。デフォルトは .Dq yes です。OPIE 認証を使うには .Cm PasswordAuthentication も一緒に許可されていなければいけません。 .It Cm StrictModes (厳格モード) .Nm がログインを許可する前に、ユーザのファイルおよび ホームディレクトリの所有権とパーミッションをチェックすべきか どうかを指定します。これはふつう初心者が、しばしば自分の ディレクトリを誰でも書き込めるようにしてしまう事故を防ぐために 有効です。デフォルトでは .Dq yes になっています。 .It Cm Subsystem (サブシステム) 外部サブシステム (ファイル転送デーモンなど) を設定します。 このオプションへの引数はサブシステム名と、そのサブシステムに 要求があったとき実行されるコマンドを与えます。 .Xr sftp-server 8 はファイル転送サブシステム .Dq sftp を実装したものです。デフォルトではサブシステムは 何も定義されていません。このオプションは プロトコル バージョン 2 にのみ適用されることに注意してください。 .It Cm SyslogFacility (syslog 分類) .Nm sshd が出力するログメッセージで使われるログの分類コード (facility) を指定します。とりうる値は次のとおりです: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7。デフォルトは AUTH です。 .It Cm UseLogin (login の使用) 対話的ログインセッションのさい、 .Xr login 1 プログラムを使うかどうかを指定します。 対話的でないリモートコマンド実行のときに .Xr login 1 が使われることは決してありません。デフォルトでは .Dq no になっています。 .It Cm X11DisplayOffset (X11 ディスプレイ基底番号) .Nm sshd が X11 転送をするときに最初に使われるディスプレイ番号を指定します。これは .Nm が本物の X11 サーバと衝突してしまうのを防ぎます。 デフォルトは 10 です。 .It Cm X11Forwarding (X11 転送) X11 転送を許可するかどうかを指定します。デフォルトは .Dq no です。X11 転送を禁止してもセキュリティを上げることにはまったくなりません。 ユーザはいつでも自分自身で転送プログラムをインストールできるのです。 .It Cm XAuthLocation (xauth の位置) .Xr xauth 1 プログラムの位置を指定します。デフォルトでは .Pa /usr/X11R6/bin/xauth になっています。 .El .Sh ログイン過程 ユーザがログインに成功すると、 .Nm は以下のことを行います: .Bl -enum -offset indent .It ユーザが端末にログインしており、コマンドがとくに指定されていない場合、 (設定ファイルまたは .Pa $HOME/.hushlogin で禁止されていなければ) 最終ログイン時刻と .Pa /etc/motd を表示する。 -.Sx FILES +.Sx 関連ファイル セクションも参照のこと。 .It ユーザが端末にログインしている場合、ログイン時刻を記録する。 .It .Pa /etc/nologin と .Pa /var/run/nologin をチェックする。 どちらかが存在する場合、その内容を表示して終了する (root 以外)。 .It そのユーザの通常の権限に移行する。 .It 基本的な環境変数を設定する。 .It .Pa $HOME/.ssh/environment が存在するなら、それを読み込む。 .It ユーザのホームディレクトリに移動する。 .It .Pa $HOME/.ssh/rc が存在する場合、それを実行する。そうでなければ、もし .Pa /etc/ssh/sshrc が存在しているなら、それを実行する。これ以外の場合は .Xr xauth 1 を実行する。この .Dq rc ファイルには、標準入力から X11 の認証プロトコルとクッキーが (それが適切なものであったなら) 与えられる。 .It ユーザのシェルまたはコマンドを実行する。 .El .Sh authorized_keys ファイルの形式 .Pa $HOME/.ssh/authorized_keys ファイルには、SSH プロトコル 1.3 および 1.5で RSA 認証に使うことを許可されている RSA 公開鍵の一覧が入っています。同様に、 .Pa $HOME/.ssh/authorized_keys2 ファイルには SSH プロトコル 2.0 で DSA 認証に使うことを許可されている DSA 公開鍵の一覧が入っています。 これらのファイルは各行にひとつの鍵が格納されています (空行や .Ql # で始まる行はコメントとして無視されます)。各行は次のようなフィールドから 成ります: オプション、ビット数、指数、係数、コメント。オプションの フィールドはなくてもかまいません。オプションが存在するかどうかは、 この行が数字で始まるかどうかによって決定されます (オプションフィールドは 決して数字では始まりません)。ビット数、指数、係数の部分で RSA 鍵を 表しています。コメントフィールドは特に使われません (が、これをつけておくと ユーザが鍵を見分けるのに便利です)。 .Pp 注意すべきことは、これらのファイルでは通常 1行が何百バイトもの長さに なっていることです (RSA 鍵の係数のサイズが大きいため)。これを手で タイプする気にはならないでしょう。かわりに .Pa identity.pub をコピーして、それを編集してください。 .Pp オプションは (もしあれば) カンマによって区切ることができます。間に スペースを入れてはいけませんが、ダブルクォートの間にはさめばオッケーです。 以下のオプションがサポートされています: .Bl -tag -width Ds .It Cm from="pattern-list" RSA 認証に加えて、カンマで区切ったリモートホストの正式名の パターン列を指定することができます ( .Ql * および .Ql ? がワイルドカードとして使えます)。このリストには否定を入れることも でき、それにはパターンの先頭に .Ql ! を置きます。ホストの正式名が この否定されたパターンにマッチする場合、その鍵は受け付けられ ません。このオプションはセキュリティを向上させる目的でつけられ ました: RSA 認証それ自体は、(鍵を除いて) ネットワークや ネームサーバ、その他ありとあらゆるものを信用していません。 しかし、もし何物かが何らかの方法で鍵を盗むことができれば、 その鍵を使って世界のどこからでもログインできてしまうことに なります。この追加オプションはそのような盗まれた鍵の使用を より困難にします (これを使うなら、鍵のほかにネームサーバや ルータまでも手を入れなくてはならないからです)。 .It Cm command="command" この鍵が認証に使われたときは、指定されたコマンドが実行されるように します。ユーザが指定してきたコマンドは (あっても) 無視されます。 このコマンドは、接続要求が仮想端末からくれば、仮想端末上で 走ります。それ以外のときは端末なしで走ります。コマンドの中に 引用符 (") を入れたいときはバックスラッシュを前につけてください。 このオプションは、ある RSA 鍵には特定の操作だけしかさせないように するのに有効です。例としては、リモートバックアップだけをさせて、 それ以外な何もさせないようにする鍵などがあります。クライアントの TCP/IP や X11 転送は、明示的に禁止されていない限り可能なので注意してください。 .It Cm environment="NAME=value" この鍵が使われたとき、環境変数に追加される文字列を指定します。この やりかたで指定した環境変数は、デフォルトの環境変数の値を上書きします。 このオプションは複数指定することも可能です。 .It Cm no-port-forwarding この鍵が認証に使われたときは TCP/IP 転送が禁止されます。 クライアントがポート転送を要求しても、すべてエラーになります。 これはたとえば .Cm command オプションの指定されている接続などで使われます。 .It Cm no-X11-forwarding この鍵が認証に使われたときは X11 転送が禁止されます。 クライアントが X11 転送を要求しても、すべてエラーになります。 .It Cm no-agent-forwarding この鍵が認証に使われたときは、認証エージェントの転送が禁止されます。 .It Cm no-pty 端末の割り当てを禁止します (仮想端末の割り当てが失敗するようになります)。 .El .Ss 例: .Bd -literal 1024 33 12121...312314325 ylo@foo.bar from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23...2334 ylo@niksula command="dump /home",no-pty,no-port-forwarding 1024 33 23...2323 backup.hut.fi .Ed .Sh ssh_known_hosts ファイルの形式 .Pa /etc/ssh/ssh_known_hosts , .Pa /etc/ssh/ssh_known_hosts2 , .Pa $HOME/.ssh/known_hosts , および .Pa $HOME/.ssh/known_hosts2 の各ファイルは今までに知られている ホストの公開鍵をすべて格納しています。大域的なファイルは管理者によって (オプションで) 用意され、ユーザごとのファイルは自動的に管理されます。 つまりユーザがまだ知られていないホストに接続したときはいつでも、その ホスト鍵がユーザのファイルに追加されるのです。 .Pp これらのファイルの各行は次のようなフィールドからなっています: ホスト名、 ビット数、指数、係数、コメント。 各フィールドはスペースによって区切られています。 .Pp ホスト名はカンマで区切られたパターン列です ( .Ql * および .Ql ? がワイルドカードとして使えます)。各パターンは (クライアントを認証している ときは) 順にそのホストの正式名と比較されるか、あるいは (サーバを 認証しているときは) ユーザが与えた名前と比較されます。パターンの先頭に .Ql ! をつけると否定を表すことができます。否定されたパターンに マッチしたホストは、たとえその行の他のパターンにマッチしても (その行では) 受けつけられません。 .Pp ビット数、指数および係数は RSA ホスト鍵から直接取り込まれます。 たとえばこれらは .Pa /etc/ssh/ssh_host_key.pub などから取得されます。オプションのコメント フィールドは行末まで続き、 これは無視されます。 .Pp .Ql # で始まる行および空行はコメントとして無視されます。 .Pp ホスト間認証を行うさい、どれか適切な鍵をもった行がマッチすれば、 認証は受け入れられます。したがって同じ名前が複数の行にあったり、 同一ホストに異なるホスト鍵が書いてあったりしても受けつけられます (が、おすすめはしません)。異なったドメインにあるホスト名の短縮形が ひとつのファイルにまとめられているときは、これは仕方がないでしょう。 また、これらのファイルには矛盾する情報が書かれていることもあり得ます。 その場合は、どれかのファイルに正しい情報が書いてあれば認証は受け入れられます。 .Pp 注意。これらのファイルの各行は、ふつう何百文字もの長さになっています。 もちろんこんなホスト鍵を手で入力したくはないでしょう。かわりにスクリプトで 生成するか、 .Pa /etc/ssh/ssh_host_key.pub をとってきてその先頭にホスト名をつけ加えるかしてください。 .Ss 例: .Bd -literal closenet,closenet.hut.fi,...,130.233.208.41 1024 37 159...93 closenet.hut.fi .Ed -.Sh ファイル +.Sh 関連ファイル .Bl -tag -width Ds .It Pa /etc/ssh/sshd_config .Nm sshd の設定ファイルです。このファイルに書き込めるのは root だけでなくてはいけませんが、読むのは誰でもできるように しておいたほうがよいでしょう (必須ではありませんが)。 .It Pa /etc/ssh/ssh_host_key ホストの秘密鍵を格納します。このファイルは root だけが所有し、 root だけが読み込み可能であり、これ以外は誰にも読ませてはいけません。 .Nm はこのファイルが誰にでも読めるようになっていると 起動しないので注意してください。 .It Pa /etc/ssh/ssh_host_key.pub ホストの公開鍵を格納します。このファイルは誰にでも読めるように なっている必要がありますが、書き込めるのは root だけにして ください。この内容は秘密鍵のほうと対応しています。このファイルが 実際に使われることはありません。これは単にユーザの便宜をはかる ためだけに存在し、ユーザはこれを known_hosts ファイルにコピーする ことができます。これら 2つのファイル (秘密鍵と公開鍵) は .Xr ssh-keygen 1 を使って生成することができます。 .It Pa /var/run/sshd.pid 現在 接続を受けつけている .Nm のプロセス ID が入っています (複数の .Nm が異なるポートで走っているときは、最後に開始したプロセスの ID が入ります)。 このファイルの内容は機密事項ではありません。 これは誰でも読めるようにしておけます。 .It Pa $HOME/.ssh/authorized_keys そのユーザのアカウントでログインするときに使われる RSA 鍵の一覧が 入っています。このファイルは root に読めるようになっている必要が あります (つまりそのユーザのホームディレクトリが NFS ボリューム上に あるような場合、そのファイルは誰にでも読めるようになっている 必要がある、ということです)。これは他の人には読めないように しておくことをすすめます。このファイルの形式は上で説明されています。 .Xr ssh-keygen 1 で説明されているように、ユーザは自分の .Pa identity.pub ファイルの内容をこのファイルに入れておきます。 .It Pa $HOME/.ssh/authorized_keys2 そのユーザのアカウントでログインするときに使われる DSA 鍵の一覧が 入っています。このファイルは root に読めるようになっている必要が あります (つまりそのユーザのホームディレクトリが NFS ボリューム 上にあるような場合、そのファイルは誰にでも読めるようになっている 必要がある、ということです)。これは他の人には読めないように しておくことをすすめます。このファイルの形式は上で説明されています。 .Xr ssh-keygen 1 で説明されているように、ユーザは自分の .Pa id_dsa.pub ファイルの内容をこのファイルに入れておきます。 .It Pa "/etc/ssh/ssh_known_hosts", "$HOME/.ssh/known_hosts" これらのファイルは、RSA ホスト間認証とともに rhosts を使うさい、 ホストの公開鍵をチェックするために使用されます。認証が 成功するためには、これらのファイルのどちらかにそのホスト鍵が 格納されていなくてはいけません。クライアントもこれと同じ ファイルで、そのリモートホストが接続しようとしている ホストであるかどうかを確認します。これらのファイルは root と 所有者には書き込み可能にしておきます。 .Pa /etc/ssh/ssh_known_hosts は誰からでも読めるようにしておいてください。 .Pa $HOME/.ssh/known_hosts はそうしておいてもよいですが、別にその必要はありません。 .It Pa /etc/nologin このファイルが存在していると、 .Nm は root を除くすべてのユーザのログインを拒否します。 このファイルの内容は root 以外で ログインしようとして拒否された人に対して表示されます。この ファイルは誰にでも読めるようになっている必要があります。 .It Pa /etc/hosts.allow .Sy LIBWRAP をサポートしてコンパイルされている場合、 .Xr hosts_access 5 の項で説明されている tcp-wrappers の アクセス制限がこのファイルによって定義できます。 .It Pa $HOME/.rhosts このファイルには、各行にホスト名とユーザ名の対をスペースで区切って 格納します。当該ホストの指定されたユーザからはパスワードなしの ログインが許可されます。このファイルは rlogind および rshd からも 使われます。これはそのユーザにのみ書き込めるようにしておき、 他の人からはアクセス不可能にしておくのがよいでしょう。 .Pp このファイルでは ネットグループ を使うこともできます。ホスト名や ユーザ名は +@groupname のような形式をとることができ、この場合 そのグループ中のすべてのホストあるいはユーザを指定できます。 .It Pa $HOME/.shosts ssh は、これを .Pa .rhosts とまったく同じように扱います。 しかしこれは rlogind や rshd からは使われないので、SSH を使ったときのみ アクセスを許可するときにこのファイルを使います。 .It Pa /etc/hosts.equiv このファイルは .Pa .rhosts 認証のさいに使われます。いちばん 簡単な形式は、各行にひとつのホスト名を書いておくことです。これらの ホストからのユーザは、両方のマシンでユーザ名が同じならば パスワードなしでログインを許可されます。ホスト名のあとにユーザ名を つけることもできます。この場合、そのユーザはこのマシン上で .Em どんな ユーザとしてもログインできてしまいます (root を除く)。 .Dq +@group のような形式で ネットグループ を指定することもできます。否定のエントリは 先頭に .Ql \&- をつけてください。 .Pp そのクライアント、あるいはそこのユーザがこのファイルにマッチする場合、 クライアント側とサーバ側のユーザ名が同じならばログインは 自動的に許可されます。通常はこれに加えて RSA ホスト間認証が 成功していることが必要です。このファイルは root にしか書き込み可能に してはいけません。また、誰にでも読めるようにしておくほうがよいでしょう。 .Pp .Sy 「警告: .Pa hosts.equiv .Sy でユーザ名を使うのは絶対にやめるべきです」 .Pp これはそのユーザが本当に .Em 誰としてでも ログインできてしまうことになるんです。 bin や daemon や adm や、その他非常に重要な バイナリやディレクトリを所有しているアカウントでもログインできるのです。 ユーザ名を使うのは、実際にはそのユーザに root の アクセスを許しているのと同じです。ここでのユーザ名の唯一の まともな使いみちは、おそらく否定のエントリで使うことだけでしょう。 .Pp ここでの警告は rsh/rlogin にもあてはまることを覚えておいてください。 .It Pa /etc/ssh/shosts.equiv これは .Pa /etc/hosts.equiv とまったく同じように使われます。 このファイルは rsh や rlogin を ssh と同じ環境で動かすときに有用でしょう。 .It Pa $HOME/.ssh/environment このファイルは (存在していれば) ログイン時に環境変数に読み込まれ ます。これが含んでいてよいのは、空行、コメント行 ( .Ql # で始まる)、および ``変数名=値'' の形式の代入行だけです。このファイルは そのユーザにのみ書き込み可能にしておいてください。べつに 他人が読めるようにしておく必要もありません。 .It Pa $HOME/.ssh/rc このファイルが存在していると、環境変数ファイルが読み込まれた 後にこのファイルが .Pa /bin/sh によって実行されます。これはユーザの シェルあるいはコマンドの実行よりも前に行われます。X11 偽装 [訳注: クライアント側でいうところの X11 転送] を使っているときは、この ファイルには標準入力から ``プロトコル クッキー'' の対 (および環境変数には .Ev DISPLAY ) が与えられます。このときはここで .Xr xauth 1 を呼び出す必要があります。 .Pp このファイルの基本的な目的は、ユーザがホームディレクトリに アクセス可能になる前に必要と考えられる初期化ルーチンを実行することです。 とくにこのような環境の例として、AFS があります。 .Pp おそらくこのファイルは、たとえば次のような何らかの初期化コードを 含むことになるでしょう: .Bd -literal -offset indent if [ -n "$DISPLAY" ] && read proto cookie; then echo add $DISPLAY $proto $cookie | xauth -q - fi .Ed .Pp このファイルが存在しない場合は .Pa /etc/ssh/sshrc が実行されます。これも存在しない場合は、 .Xr xauth 1 がクッキーを格納するために使われます。 .Pp このファイルは、そのユーザにのみ書き込み可能にしておいてください。 他人が読めるようにしておく必要はありません。 .It Pa /etc/ssh/sshrc .Pa $HOME/.ssh/rc に似ています。これはそのマシン固有の大域的な ログイン時の初期化を指定するのに使われます。これは root のみ書き込み可能にしておき、誰からも読めるようにしておくべきです。 .El .Sh 作者 OpenSSH は Tatu Ylonen によってリリースされたオリジナルの (フリー) ssh 1.2.12 から派生したものです。しかしバグがとり除かれ、より新しい機能が 追加されています。1.2.12 がリリースされるとすぐに、オリジナルの ssh は だんだんと制限されたライセンスになっていき、フリーのバージョンに対する 要求が生まれました。 .Pp このバージョンの OpenSSH は… .Bl -bullet .It 何らかの制限的事項 (つまり特許など。 .Xr ssl 8 を参照) がついているコンポーネントはすべて、 ソースコードから直接削除されています。 かわりにライセンスあるいは特許つきのコンポーネントは、 外部ライブラリから取り込まれます。 .It SSH プロトコル 1.5 と 2 をサポートするようにアップデートされました。 これで他のすべての SSH クライアントやサーバと互換になります。 .It .Xr kerberos 8 認証とチケットパスの追加サポートが含まれています。 .It .Xr skey 1 を用いた、使い捨てパスワード (one-time password) 認証をサポートしています。 .El .Pp OpenSSH は以下の人々によって製作されました: Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, そして Dug Song。 .Pp SSH プロトコル 2 のサポートは Markus Friedl の手によるものです。 .Sh 日本語訳 新山 祐介 (euske@cl.cs.titech.ac.jp) 2000/11/23 .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 、および .Fx jpman プロジェクト までお送りください。 .Sh 関連項目 .Xr scp 1 , .Xr sftp-server 8 , .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr ssh-keygen 1 , .Xr ssl 8 , .Xr rlogin 1 , .Xr rsh 1