sshd(8) FreeBSD 一般コマンドマニュアル

sshd

前のページ 上に戻る 次のページ

sshd


          ホスト鍵ファイル] [-k 鍵の生成間隔] [-p ポート] [-u 長さ] [-V クライ
          アントプロトコル ID]


解説

     sshd (セキュア シェル デーモン) は ssh(1) のためのデーモンプログラムで
     す。これらのプログラムはともに rlogin と rsh を置き換えるもので、安全でな
     いネットワーク上にある、2つの信頼されていないホスト間で、暗号化された安全
     な通信を提供します。これらのプログラムはなるべく簡単にインストールでき、
     なるべく簡単に使えるよう配慮されています。

     sshd はクライアントからの接続を listen しているデーモンです。通常これはブ
     ート時に /etc/rc.network から起動され、接続ごとに新しいデーモンが fork し
     ます。Fork したデーモンは、鍵の交換、暗号化、認証、コマンド実行、そしてデ
     ータ交換を行います。この sshd の実装では、SSH プロトコルバージョン 1 と 2
     を同時にサポートしています。 sshd は以下のように動作します。

   SSH B>プB>ロB>トB>コB>ル B>バB>ーB>ジB>ョB>ン 1

     各ホストは、そのホストに固有の RSA 鍵 (通常 1024 ビット) をもっています。
     これはそれぞれのホストを識別するのに使われます。加えて、デーモンは起動時
     にサーバ用 RSA 鍵 (通常 768 ビット) を生成します。この鍵はふつう使われる
     と 1時間おきに生成し直され、ディスクに保存されることは決してありません。

     クライアントが接続してくると、デーモンはその公開ホスト鍵およびサーバ鍵を
     返します。クライアントは自分がもっているデータベースとこの RSA ホスト鍵と
     を比較し、それが変更されていないことを確かめます。つぎにクライアントは
     256 ビットの乱数を生成します。これをそのホスト鍵とサーバ鍵両方をつかって
     暗号化し、暗号化された数値をサーバに送ります。このとき、どちらの側もこの
     数値をセッション鍵として使います。セッション鍵とはこれ以降のすべての通信
     を暗号化するのに使われるもので、以後セッションは既存の暗号化アルゴリズム
     を使って暗号化されます。これらのアルゴリズムは現在のところ Blowfish また
     は 3DES で、デフォルトでは 3DES となっています。クライアントはサーバに
     よって提案された暗号化アルゴリズムから使用するものを選択します。

     つぎに、サーバとクライアントは認証のための対話に入ります。クライアントは
     自分自身の身分を証明するため、 .rhosts 認証や、RSA ホスト認証と組み合わせ
     た .rhosts 認証、RSA チャレンジ-レスポンス 認証、あるいはパスワード認証を
     使おうとします。

     Rhosts 認証は根本的に安全でないため、ふつうは禁止されています。しかし必要
     とあればサーバの設定ファイルによって許可することもできます。 rshd(8),
     rlogind(8), rexecd(8), および rexd(8) を止めないかぎり (これは rlogin(1)rsh(1) を完全に禁止することになりますが)、システムのセキュリティは改善
     されません。

   SSH B>プB>ロB>トB>コB>ル B>バB>ーB>ジB>ョB>ン 2

     バージョン 2 も同様に動作します: 各ホストは固有の DSA 鍵をもっており、こ
     れでホストを識別します。しかしデーモンが開始した時点では、これはサーバ鍵
     を生成しません。Diffie-Hellman の key agreement によって、より進歩したセ
     キュリティが提供されています。この key agreement から、共通のセッション鍵
     が得られます。これ以降セッションは対称的暗号化アルゴリズムを用いて暗号化

     最後に、クライアントはシェルか、あるいはコマンドの実行のどちらかを要求し
     ます。ここで双方はセッション モードに入ります。このモードでは両者はいつで
     もデータを送ることができ、そのデータはサーバ側のシェルまたはコマンドと、
     クライアント側のユーザ端末とでやりとりされます。

     ユーザのプログラムが終了し、転送されたすべての X11 接続やその他の接続が閉
     じられると、サーバはクライアントにコマンドの終了状態を送り、両者は終了し
     ます。

     sshd はコマンドライン オプションか、設定ファイルによって設定することがで
     きます。コマンドラインからのオプションは、設定ファイルで指定されている値
     よりも優先されます。

     sshd はハングアップシグナル SIGHUP を受け取ると、自分の設定ファイルを読み
     込みなおします。

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

     -b ビット数
             サーバ鍵のビット数を指定します (デフォルトは 768 ビットです)。

     -d      デバッグモードにします。サーバはシステムログに対し、冗長なデバッ
             グ表示を出力するようになり、バックグラウンドには移行しません。ま
             たサーバは fork せず、1回の接続しか受けつけません。このオプション
             はサーバのデバッグのためだけに使ってください。複数の -d オプショ
             ンをつけるとデバッグレベルが上がります。最高は 3 です。

     -f 設定ファイル
             設定ファイルの名前を指定します。デフォルトは /etc/ssh/sshd_config
             になっています。 sshd は設定ファイルがないと起動しません。

     -g ログイン猶予時間
             クライアントが自分自身を認証するのにかかる猶予時間を与えます (デ
             フォルトは 300秒)。クライアントがこの時間内にユーザを認証できな
             かった場合、サーバは接続を切って終了します。ゼロを値として与える
             と猶予は無限になります。

     -h ホスト鍵ファイル
             RSA ホスト鍵を読むファイルを指定します (デフォルトは
             /etc/ssh/ssh_host_key です)。このオプションは sshd を root 以外で
             起動するときは必ず指定しなければいけません (ホスト鍵のファイルは
             ふつう root からしか読めないようになっているからです)。

     -i      sshd が inetd から起動されることを指定します。 sshd はふつう
             inetd からは起動されません。なぜならこれはクライアントを受けつけ
             る前にサーバ鍵を生成しておく必要があり、これには数十秒かかるため
             です。鍵が毎回生成しなおされると、クライアントは非常に長い間待た
             されてしまいます。しかし鍵のサイズが小さければ (たとえば 512 ビッ
             トぐらい)、inetd から sshd を使うことも、まあ可能でしょう。

     -k 鍵の生成間隔

     -u 長さ
             このオプションはリモートホスト名を保持させる utmp 構造体のフィー
             ルド長を指定するのに使われます。名前解決されたホストがこの len よ
             りも長い場合、ドットで区切られた 10進の数値がかわりに保持されま
             す。これは非常に長いホスト名をもつホストがこのフィールドをあふれ
             させても、一意に識別できるようにするためです。 -u0 を指定すると
             utmp ファイルにはつねにドットで区切られた 10進値が使われるように
             なります。

     -Q      RSA サポートがない場合でもエラーメッセージを表示しないようにしま
             す。

     -V クライアント プロトコル ID
             SSH-2 互換モード。このオプションが指定されると、 sshd はクライア
             ントがあらかじめ与えられたバージョン文字列を送ってきたと仮定し、
             プロトコルのバージョンを識別するための対話 (Protocol Version
             Identification Exchange) を省略します。このオプションは直接使われ
             ることを意図されているものではありません。

     -4      sshd が IPv4 アドレスのみを使うよう強制します。

     -6      sshd が IPv6 アドレスのみを使うよう強制します。


設定ファイル

     sshd/etc/ssh/sshd_config (あるいはコマンドラインから -f オプションで
     指定したファイル) から設定情報を読み込みます。このファイルの各行は ``キー
     ワード  引数'' の形式になっており、空行あるいは `#' で始まる行はコメント
     とみなされます。

     以下のキーワードが使えます。

     AFSTokenPassing (AFS B>トB>ーB>クB>ンB>パB>ス)
             このオプションは AFS トークンがサーバに転送されるかどうかを指定し
             ます。デフォルトは ``yes'' です。

     AllowGroups (B>許B>可B>グB>ルB>ーB>プ)
             このキーワードにはいくつかのグループ名をスペースで区切って指定し
             ます。これが指定されると、ユーザの基本グループがそのパターンのど
             れかにマッチするグループであるようなユーザだけがログインを許可さ
             れます。パターン中では `*' および `'?  がワイルドカードとして使え
             ます。有効なのはグループの「名前」だけで、数字で表されたグループ
             ID は認識されません。デフォルトでは、ログインはユーザの基本グルー
             プに関係なく許可されています。

     AllowTcpForwarding (TCP B>転B>送B>許B>可)
             TCP 転送を許可するかどうかを指定します。デフォルトは ``yes'' で
             す。TCP 転送を禁止しても、ユーザにシェルのアクセスを禁止しないか
             ぎりセキュリティの向上にはならないことに注意してください。なぜな
             らユーザはいつでも自分自身で転送プログラムをインストールできるの
             ですから。

     CheckMail (B>メB>ーB>ルB>チB>ェB>ッB>ク)
             対話的ログインのさいに sshd が新着メールをチェックするかどうかを
             指定します。デフォルトは ``yes'' です。

     DenyGroups (B>拒B>絶B>グB>ルB>ーB>プ)
             このキーワードにはいくつかのグループ名をスペースで区切って指定し
             ます。ユーザの基本グループがこのパターンのどれかにマッチするよう
             なユーザはログインを許可されません。パターン中では `*' および `'?
             がワイルドカードとして使えます。有効なのはグループの「名前」だけ
             で、数字で表されたグループ ID は認識されません。デフォルトでは、
             ログインはユーザの基本グループに関係なく許可されています。

     DenyUsers (B>拒B>絶B>ユB>ーB>ザ)
             このキーワードにはいくつかのグループ名をスペースで区切って指定し
             ます。これが指定されると、そのパターンにマッチするこのパターンの
             どれかにマッチするユーザはログインを許可されません。マッチするよ
             うなユーザはログインを許可されません。パターン中では `*' および
             `'?  がワイルドカードとして使えます。有効なのはグループの「名前」
             だけで、数字で表されたグループ ID は認識されません。デフォルトで
             は、ログインはユーザ名に関係なく許可されています。

     DSAAuthentication (DSA B>認B>証)
             DSA 認証を許可するかどうか指定します。デフォルトは ``yes'' です。
             このオプションは プロトコル バージョン 2 のみに適用されることに注
             意してください。

     GatewayPorts (B>ゲB>ーB>トB>ウB>ェB>イB>ポB>ーB>ト)
             サーバ側からみたリモートホストが、クライアント側に転送されたポー
             トに接続することを許可するかどうかを指定します。この引数の値は
             ``yes'' あるいは ``no'' で、デフォルトは ``no'' です。

     HostDSAKey (B>ホB>スB>ト DSA B>鍵)
             SSH プロトコル 2.0 で使われる、DSA のホスト秘密鍵が入っているファ
             イル (デフォルトは /etc/ssh/ssh_host_dsa_key ) を指定します。この
             ファイルがグループあるいは他人からアクセス可能になっていると、
             sshd はプロトコル 2.0 を禁止するので注意してください。

     HostKey (B>ホB>スB>トB>鍵)
             SSH プロトコル 1.3 および 1.5 で使われる、RSA のホスト秘密鍵が
             入っているファイル (デフォルトは /etc/ssh/ssh_host_key ) を指定し
             ます。このファイルがグループあるいは他人からアクセス可能になって
             いると、 sshd はプロトコル 1.3 および 1.5 を禁止するので注意して
             ください。

     IgnoreRhosts (rhosts B>のB>無B>視)
             認証のさい、 .rhosts および .shosts ファイルを無視するよう指定し
             ます。この状態でも、 /etc/hosts.equiv および /etc/shosts.equiv は
             依然として有効です。デフォルトは ``yes'' です。

     IgnoreUserKnownHosts (B>ユB>ーB>ザB>側 known_hosts B>のB>無B>視)
             RhostsRSAAuthentication のさい、 sshd がユーザの
             $HOME/.ssh/known_hosts を使わないよう指定します。デフォルトは
             けるセッションを回避します。

             keepalive を禁止するには、サーバとクライアント両方の設定ファイル
             でこの値を ``no'' に指定する必要があります。

     KerberosAuthentication (Kerberos B>認B>証)
             Kerberos 認証を許可するかどうかを指定します。この認証は Kerberos
             チケットをつかうという形で行われます。あるいは
             PasswordAuthentication が yes なら、ユーザのパスワードは Kerberos
             KDC を経由して確認されます。このオプションを使うためにはサーバは
             KDC の identity を検査する Kerberos servtab を必要とします。デ
             フォルトでは ``yes'' になっています。

     KerberosOrLocalPasswd (Kerberos B>がB>なB>けB>れB>ばB>ロB>ーB>カB>ルB>パB>スB>ワB>ーB>ドB>使B>用)
             これが指定されていると Kerberos 経由のパスワード認証が失敗したと
             き、そのパスワードは /etc/passwd などの別のローカルな機構によって
             確認されます。デフォルトは ``yes'' です。

     KerberosTgtPassing (Kerberos TGT B>パB>ス)
             Kerberos TGT をサーバに転送してもよいかどうかを指定します。デフォ
             ルトは ``no'' です。これがまともに動くのは Kerberos KDC が実際の
             AFS kaserver であるときだけだからです。

     KerberosTicketCleanup (Kerberos B>チB>ケB>ッB>トB>のB>片B>づB>け)
             ユーザのチケット用キャッシュをログアウト時に自動的に消去するかど
             うかを指定します。デフォルトは ``yes'' です。

     KeyRegenerationInterval (B>鍵B>のB>再B>生B>成B>間B>隔)
             サーバ鍵は、(一度でも使われると) ここで指定された秒数ごとに自動的
             に再生成されます。このように鍵を再生成する目的は、あとでそのマシ
             ンに侵入して盗聴したセッションを解読されたり、鍵を盗まれたりする
             のを防ぐためです。この鍵はどこにも格納されません。値としてゼロを
             指定すると、鍵はまったく再生成されなくなります。デフォルトでは
             3600 (秒) になっています。

     ListenAddress (B>接B>続B>受B>付B>アB>ドB>レB>ス)
             sshd が接続を受けつける (listen する) ローカルアドレスを指定しま
             す。デフォルトではすべてのローカルアドレスに対して接続を受けつけ
             るようになっています。このオプションは複数指定してもかまいませ
             ん。また Ports オプションはこのオプションよりも前に指定しておく必
             要があります。

     LoginGraceTime (B>ロB>グB>イB>ンB>猶B>予B>時B>間)
             ユーザがこの時間内でログインに成功できないと、サーバは接続を切り
             ます。この値をゼロにすると、時間に制限はなくなります。デフォルト
             は 120 (秒) です。 [訳注: -g オプションの解説ではデフォルト 300
             秒になっている。どっちが正しいんだろう。]

     LogLevel (B>ロB>グB>レB>ベB>ル)
             sshd が出力するログメッセージの冗長性レベルを指定します。とりうる
             値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE および
             DEBUG。デフォルトでは INFO です。DEBUG レベルのログはユーザのプラ
             は 60) 個の接続が来るまで線形に増えつづけ、最大数に達した時点でそ
             れ以降すべての接続を拒否するようになります。

     PasswordAuthentication (B>パB>スB>ワB>ーB>ドB>認B>証)
             パスワード認証を許可するかどうかを指定します。デフォルトでは
             ``yes'' になっています。このオプションはプロトコルバージョン 1 お
             よび 2 の両方に適用されます。

     PermitEmptyPasswords (B>空B>のB>パB>スB>ワB>ーB>ドB>許B>可)
             パスワード認証が許可されているとき、パスワード文字列が空のアカウ
             ントに対してサーバがログインを許可するかどうか指定します。デフォ
             ルトは ``no'' です。

     PermitRootLogin (root B>ロB>グB>イB>ンB>許B>可)
             ssh(1) を使って、root がログインできるかどうかを指定します。この
             引数の値は ``yes'' 、 ``without-password'' (パスワード認証なし)、
             あるいは ``no'' のいずれかになります。デフォルトは ``no'' です。
             このオプションを ``without-password'' にすると、root にのみパスワ
             ード認証が不許可になります。

             RSA 認証での root ログインは、 command 引数が指定されているときは
             このオプションの値に関係なく許可されます (これは、通常は root ロ
             グインを禁止しても、リモートバックアップをとるときなどに有効で
             す)。

     PidFile (pid B>フB>ァB>イB>ル)
             sshd デーモンのプロセス ID を格納するファイルを指定します。デフォ
             ルトでは /var/run/sshd.pid になっています。

     Port (B>ポB>ーB>ト)
             sshd が接続を受けつける (listen する) ポート番号を指定します。デ
             フォルトは 22 です。複数指定することも可能です。

     PrintMotd (motd B>表B>示)
             ユーザが対話的にログインしたとき、 sshd/etc/motd の内容を表示
             するかどうかを指定します (システムによっては、これはシェルや
             /etc/profile に類するものが表示します)。デフォルトは ``yes'' で
             す。

     Protocol (B>プB>ロB>トB>コB>ル)
             sshd がサポートすべきプロトコルのバージョンを指定します。とりうる
             値は ``1'' と ``2'' で、複数のバージョンをカンマで区切って指定す
             ることもできます。デフォルトは ``1'' です。

     RandomSeed (B>乱B>数B>初B>期B>値)
             これはもはや使われていないオプションで、指定すると警告が表示され
             て無視されます。乱数の発生は別の方法で行われます。

     RhostsAuthentication (rhosts B>認B>証)
             rhosts や /etc/hosts.equiv だけを使った認証でログインを許可してし
             まってもよいかどうかを指定します。通常これは安全でないため許可す
             べきではありません。かわりに RhostsRSAAuthentication を使うべきで

     ServerKeyBits (B>サB>ーB>バB>鍵B>のB>ビB>ッB>トB>数)
             サーバ鍵のビット数を定義します。最小値は 512 で、デフォルトは 768
             です。

     SkeyAuthentication (s/key B>認B>証)
             skey(1) 認証を許可するかどうかを指定します。デフォルトは ``yes''
             です。OPIE 認証を使うには PasswordAuthentication も一緒に許可され
             ていなければいけません。

     StrictModes (B>厳B>格B>モB>ーB>ド)
             sshd がログインを許可する前に、ユーザのファイルおよびホームディレ
             クトリの所有権とパーミッションをチェックすべきかどうかを指定しま
             す。これはふつう初心者が、しばしば自分のディレクトリを誰でも書き
             込めるようにしてしまう事故を防ぐために有効です。デフォルトでは
             ``yes'' になっています。

     Subsystem (B>サB>ブB>シB>スB>テB>ム)
             外部サブシステム (ファイル転送デーモンなど) を設定します。このオ
             プションへの引数はサブシステム名と、そのサブシステムに要求があっ
             たとき実行されるコマンドを与えます。 sftp-server(8) はファイル転
             送サブシステム ``sftp'' を実装したものです。デフォルトではサブシ
             ステムは何も定義されていません。このオプションはプロトコル バー
             ジョン 2 にのみ適用されることに注意してください。

     SyslogFacility (syslog B>分B>類)
             sshd が出力するログメッセージで使われるログの分類コード (facil-
             ity) を指定します。とりうる値は次のとおりです: DAEMON, USER,
             AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6,
             LOCAL7。デフォルトは AUTH です。

     UseLogin (login B>のB>使B>用)
             対話的ログインセッションのさい、 login(1) プログラムを使うかどう
             かを指定します。対話的でないリモートコマンド実行のときに login(1)
             が使われることは決してありません。デフォルトでは ``no'' になって
             います。

     X11DisplayOffset (X11 B>デB>ィB>スB>プB>レB>イB>基B>底B>番B>号)
             sshd が X11 転送をするときに最初に使われるディスプレイ番号を指定
             します。これは sshd が本物の X11 サーバと衝突してしまうのを防ぎま
             す。デフォルトは 10 です。

     X11Forwarding (X11 B>転B>送)
             X11 転送を許可するかどうかを指定します。デフォルトは ``no'' で
             す。X11 転送を禁止してもセキュリティを上げることにはまったくなり
             ません。ユーザはいつでも自分自身で転送プログラムをインストールで
             きるのです。

     XAuthLocation (xauth B>のB>位B>置)
             xauth(1) プログラムの位置を指定します。デフォルトでは
             /usr/X11R6/bin/xauth になっています。


ログイン過程

           5.   基本的な環境変数を設定する。

           6.   $HOME/.ssh/environment が存在するなら、それを読み込む。

           7.   ユーザのホームディレクトリに移動する。

           8.   $HOME/.ssh/rc が存在する場合、それを実行する。そうでなければ、
                もし /etc/ssh/sshrc が存在しているなら、それを実行する。これ以
                外の場合は xauth(1) を実行する。この ``rc'' ファイルには、標準
                入力から X11 の認証プロトコルとクッキーが (それが適切なもので
                あったなら) 与えられる。

           9.   ユーザのシェルまたはコマンドを実行する。


authorized_keys ファイルの形式

     $HOME/.ssh/authorized_keys ファイルには、SSH プロトコル 1.3 および 1.5で
     RSA 認証に使うことを許可されている RSA 公開鍵の一覧が入っています。同様
     に、 $HOME/.ssh/authorized_keys2 ファイルには SSH プロトコル 2.0 で DSA
     認証に使うことを許可されている DSA 公開鍵の一覧が入っています。これらの
     ファイルは各行にひとつの鍵が格納されています (空行や `#' で始まる行はコメ
     ントとして無視されます)。各行は次のようなフィールドから成ります: オプショ
     ン、ビット数、指数、係数、コメント。オプションのフィールドはなくてもかま
     いません。オプションが存在するかどうかは、この行が数字で始まるかどうかに
     よって決定されます (オプションフィールドは決して数字では始まりません)。
     ビット数、指数、係数の部分で RSA 鍵を表しています。コメントフィールドは特
     に使われません (が、これをつけておくとユーザが鍵を見分けるのに便利です)。

     注意すべきことは、これらのファイルでは通常 1行が何百バイトもの長さになっ
     ていることです (RSA 鍵の係数のサイズが大きいため)。これを手でタイプする気
     にはならないでしょう。かわりに identity.pub をコピーして、それを編集して
     ください。

     オプションは (もしあれば) カンマによって区切ることができます。間にスペー
     スを入れてはいけませんが、ダブルクォートの間にはさめばオッケーです。以下
     のオプションがサポートされています:

     from="pattern-list"
             RSA 認証に加えて、カンマで区切ったリモートホストの正式名のパター
             ン列を指定することができます ( `*' および `'?  がワイルドカードと
             して使えます)。このリストには否定を入れることもでき、それにはパタ
             ーンの先頭に `'!  を置きます。ホストの正式名がこの否定されたパタ
             ーンにマッチする場合、その鍵は受け付けられません。このオプション
             はセキュリティを向上させる目的でつけられました: RSA 認証それ自体
             は、(鍵を除いて) ネットワークやネームサーバ、その他ありとあらゆる
             ものを信用していません。しかし、もし何物かが何らかの方法で鍵を盗
             むことができれば、その鍵を使って世界のどこからでもログインできて
             しまうことになります。この追加オプションはそのような盗まれた鍵の
             使用をより困難にします (これを使うなら、鍵のほかにネームサーバや
             ルータまでも手を入れなくてはならないからです)。

     command="command"
             この鍵が認証に使われたときは、指定されたコマンドが実行されるよう

     no-port-forwarding
             この鍵が認証に使われたときは TCP/IP 転送が禁止されます。クライア
             ントがポート転送を要求しても、すべてエラーになります。これはたと
             えば command オプションの指定されている接続などで使われます。

     no-X11-forwarding
             この鍵が認証に使われたときは X11 転送が禁止されます。クライアント
             が X11 転送を要求しても、すべてエラーになります。

     no-agent-forwarding
             この鍵が認証に使われたときは、認証エージェントの転送が禁止されま
             す。

     no-pty  端末の割り当てを禁止します (仮想端末の割り当てが失敗するようにな
             ります)。

   B>例:

     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


ssh_known_hosts ファイルの形式

     /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2,
     $HOME/.ssh/known_hosts, および $HOME/.ssh/known_hosts2 の各ファイルは今ま
     でに知られているホストの公開鍵をすべて格納しています。大域的なファイルは
     管理者によって (オプションで) 用意され、ユーザごとのファイルは自動的に管
     理されます。つまりユーザがまだ知られていないホストに接続したときはいつで
     も、そのホスト鍵がユーザのファイルに追加されるのです。

     これらのファイルの各行は次のようなフィールドからなっています: ホスト名、
     ビット数、指数、係数、コメント。各フィールドはスペースによって区切られて
     います。

     ホスト名はカンマで区切られたパターン列です ( `*' および `'?  がワイルドカ
     ードとして使えます)。各パターンは (クライアントを認証しているときは) 順に
     そのホストの正式名と比較されるか、あるいは (サーバを認証しているときは)
     ユーザが与えた名前と比較されます。パターンの先頭に `'!  をつけると否定を
     表すことができます。否定されたパターンにマッチしたホストは、たとえその行
     の他のパターンにマッチしても (その行では) 受けつけられません。

     ビット数、指数および係数は RSA ホスト鍵から直接取り込まれます。たとえばこ
     れらは /etc/ssh/ssh_host_key.pub などから取得されます。オプションのコメン
     ト フィールドは行末まで続き、これは無視されます。

     `#' で始まる行および空行はコメントとして無視されます。

     ホスト間認証を行うさい、どれか適切な鍵をもった行がマッチすれば、認証は受
     け入れられます。したがって同じ名前が複数の行にあったり、同一ホストに異な
     るホスト鍵が書いてあったりしても受けつけられます (が、おすすめはしませ
     ん)。異なったドメインにあるホスト名の短縮形がひとつのファイルにまとめられ
     /etc/ssh/sshd_config
             sshd の設定ファイルです。このファイルに書き込めるのは root だけで
             なくてはいけませんが、読むのは誰でもできるようにしておいたほうが
             よいでしょう (必須ではありませんが)。

     /etc/ssh/ssh_host_key
             ホストの秘密鍵を格納します。このファイルは root だけが所有し、
             root だけが読み込み可能であり、これ以外は誰にも読ませてはいけませ
             ん。 sshd はこのファイルが誰にでも読めるようになっていると起動し
             ないので注意してください。

     /etc/ssh/ssh_host_key.pub
             ホストの公開鍵を格納します。このファイルは誰にでも読めるように
             なっている必要がありますが、書き込めるのは root だけにしてくださ
             い。この内容は秘密鍵のほうと対応しています。このファイルが実際に
             使われることはありません。これは単にユーザの便宜をはかるためだけ
             に存在し、ユーザはこれを known_hosts ファイルにコピーすることがで
             きます。これら 2つのファイル (秘密鍵と公開鍵) は ssh-keygen(1) を
             使って生成することができます。

     /var/run/sshd.pid
             現在 接続を受けつけている sshd のプロセス ID が入っています (複数
             の sshd が異なるポートで走っているときは、最後に開始したプロセス
             の ID が入ります)。このファイルの内容は機密事項ではありません。こ
             れは誰でも読めるようにしておけます。

     $HOME/.ssh/authorized_keys
             そのユーザのアカウントでログインするときに使われる RSA 鍵の一覧が
             入っています。このファイルは root に読めるようになっている必要が
             あります (つまりそのユーザのホームディレクトリが NFS ボリューム上
             にあるような場合、そのファイルは誰にでも読めるようになっている必
             要がある、ということです)。これは他の人には読めないようにしておく
             ことをすすめます。このファイルの形式は上で説明されています。
             ssh-keygen(1) で説明されているように、ユーザは自分の identity.pub
             ファイルの内容をこのファイルに入れておきます。

     $HOME/.ssh/authorized_keys2
             そのユーザのアカウントでログインするときに使われる DSA 鍵の一覧が
             入っています。このファイルは root に読めるようになっている必要が
             あります (つまりそのユーザのホームディレクトリが NFS ボリューム上
             にあるような場合、そのファイルは誰にでも読めるようになっている必
             要がある、ということです)。これは他の人には読めないようにしておく
             ことをすすめます。このファイルの形式は上で説明されています。
             ssh-keygen(1) で説明されているように、ユーザは自分の id_dsa.pub
             ファイルの内容をこのファイルに入れておきます。

     /etc/ssh/ssh_known_hosts, $HOME/.ssh/known_hosts
             これらのファイルは、RSA ホスト間認証とともに rhosts を使うさい、
             ホストの公開鍵をチェックするために使用されます。認証が成功するた
             めには、これらのファイルのどちらかにそのホスト鍵が格納されていな
             くてはいけません。クライアントもこれと同じファイルで、そのリモー
             トホストが接続しようとしているホストであるかどうかを確認します。
             よって定義できます。

     $HOME/.rhosts
             このファイルには、各行にホスト名とユーザ名の対をスペースで区切っ
             て格納します。当該ホストの指定されたユーザからはパスワードなしの
             ログインが許可されます。このファイルは rlogind および rshd からも
             使われます。これはそのユーザにのみ書き込めるようにしておき、他の
             人からはアクセス不可能にしておくのがよいでしょう。

             このファイルでは ネットグループ を使うこともできます。ホスト名や
             ユーザ名は +@groupname のような形式をとることができ、この場合その
             グループ中のすべてのホストあるいはユーザを指定できます。

     $HOME/.shosts
             ssh は、これを .rhosts とまったく同じように扱います。しかしこれは
             rlogind や rshd からは使われないので、SSH を使ったときのみアクセ
             スを許可するときにこのファイルを使います。

     /etc/hosts.equiv
             このファイルは .rhosts 認証のさいに使われます。いちばん簡単な形式
             は、各行にひとつのホスト名を書いておくことです。これらのホストか
             らのユーザは、両方のマシンでユーザ名が同じならばパスワードなしで
             ログインを許可されます。ホスト名のあとにユーザ名をつけることもで
             きます。この場合、そのユーザはこのマシン上で どんなユーザとしても
             ログインできてしまいます (root を除く)。 ``+@group'' のような形式
             で ネットグループ を指定することもできます。否定のエントリは先頭
             に `-' をつけてください。

             そのクライアント、あるいはそこのユーザがこのファイルにマッチする
             場合、クライアント側とサーバ側のユーザ名が同じならばログインは自
             動的に許可されます。通常はこれに加えて RSA ホスト間認証が成功して
             いることが必要です。このファイルは root にしか書き込み可能にして
             はいけません。また、誰にでも読めるようにしておくほうがよいでしょ
             う。

             B>「B>警B>告: hosts.equiv B>でB>ユB>ーB>ザB>名B>をB>使B>うB>のB>はB>絶B>対B>にB>やB>めB>るB>べB>きB>でB>すB>」

             これはそのユーザが本当に 誰としてでもログインできてしまうことにな
             るんです。 bin や daemon や adm や、その他非常に重要なバイナリや
             ディレクトリを所有しているアカウントでもログインできるのです。ユ
             ーザ名を使うのは、実際にはそのユーザに root のアクセスを許してい
             るのと同じです。ここでのユーザ名の唯一のまともな使いみちは、おそ
             らく否定のエントリで使うことだけでしょう。

             ここでの警告は rsh/rlogin にもあてはまることを覚えておいてくださ
             い。

     /etc/ssh/shosts.equiv
             これは /etc/hosts.equiv とまったく同じように使われます。このファ
             イルは rsh や rlogin を ssh と同じ環境で動かすときに有用でしょ
             う。

             す必要があります。

             このファイルの基本的な目的は、ユーザがホームディレクトリにアクセ
             ス可能になる前に必要と考えられる初期化ルーチンを実行することで
             す。とくにこのような環境の例として、AFS があります。

             おそらくこのファイルは、たとえば次のような何らかの初期化コードを
             含むことになるでしょう:

                   if [ -n "$DISPLAY" ] && read proto cookie; then
                       echo add $DISPLAY $proto $cookie | xauth -q -
                   fi

             このファイルが存在しない場合は /etc/ssh/sshrc が実行されます。こ
             れも存在しない場合は、 xauth(1) がクッキーを格納するために使われ
             ます。

             このファイルは、そのユーザにのみ書き込み可能にしておいてくださ
             い。他人が読めるようにしておく必要はありません。

     /etc/ssh/sshrc
             $HOME/.ssh/rc に似ています。これはそのマシン固有の大域的なログイ
             ン時の初期化を指定するのに使われます。これは root のみ書き込み可
             能にしておき、誰からも読めるようにしておくべきです。


作者

     OpenSSH は Tatu Ylonen によってリリースされたオリジナルの (フリー) ssh
     1.2.12 から派生したものです。しかしバグがとり除かれ、より新しい機能が追加
     されています。1.2.12 がリリースされるとすぐに、オリジナルの ssh はだんだ
     んと制限されたライセンスになっていき、フリーのバージョンに対する要求が生
     まれました。

     このバージョンの OpenSSH は…

     o   何らかの制限的事項 (つまり特許など。 ssl(8) を参照) がついているコン
         ポーネントはすべて、ソースコードから直接削除されています。かわりにラ
         イセンスあるいは特許つきのコンポーネントは、外部ライブラリから取り込
         まれます。

     o   SSH プロトコル 1.5 と 2 をサポートするようにアップデートされました。
         これで他のすべての SSH クライアントやサーバと互換になります。

     o   kerberos(8) 認証とチケットパスの追加サポートが含まれています。

     o   skey(1) を用いた、使い捨てパスワード (one-time password) 認証をサポー
         トしています。

     OpenSSH は以下の人々によって製作されました: Aaron Campbell, Bob Beck,
     Markus Friedl, Niels Provos, Theo de Raadt, そして Dug Song。

     SSH プロトコル 2 のサポートは Markus Friedl の手によるものです。


ABELNET VPSサービス