.\" Copyright (c) 1983 The Regents of the University of California. .\" 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. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. .\" .\" from: @(#)telnetd.8 6.8 (Berkeley) 4/20/91 .\" $Id: telnetd.8,v 1.18 2000/07/30 23:57:10 dholland Exp $ .\" .\" Japanese Version Copyright (c) 2001 Yuichi SATO .\" all rights reserved. .\" Translated Sun Jan 14 21:27:21 JST 2001 .\" by Yuichi SATO .\" .\"WORD: pseudo terminal 疑似端末 .\"WORD: virtual terminal 仮想端末 .\" .Dd December 29, 1996 .Dt TELNETD 8 .Os "Linux NetKit (0.17)" .Sh 名前 .Nm telnetd .Nd DARPA .Tn telnet プロトコルサーバ .Sh 書式 .Nm /usr/sbin/in.telnetd .Op Fl hns .Op Fl a Ar authmode .Op Fl D Ar debugmode .Op Fl L Ar loginprg .Op Fl S Ar tos .Op Fl X Ar authtype .Op Fl edebug .Op Fl debug Ar port .Sh 説明 .Nm telnetd プログラムは、 .Tn DARPA .Tn telnet 対話的通信プロトコルをサポートするサーバである。 .Nm telnetd は、通常は .Pa /etc/services ファイル .Ns ( Xr services 5 を参照) に記述されている .Tn telnet ポートへの接続要求を受けて、 インターネットサーバ .Ns ( Xr inetd 8 を参照) から起動される。 .Fl debug オプションは、 .Nm telnetd を .Xr inetd 8 ではなく、手動で起動するために使われる。 この方法で起動した場合、 別の .Tn TCP ポート番号で .Nm telnetd を実行するために、 .Ar port を指定することができる。 .Pp .Nm telnetd プログラムは以下のオプションを受け付ける: .Bl -tag -width "-a authmode" .It Fl a Ar authmode このオプションは、どのモードが認証に使われるかを指定するために用いられる。 このオプションは、 .Nm telnetd が認証をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。 これは現在のバージョンでは使用できない。 .Ar authmode のとしては、以下の値を受け付ける: .Bl -tag -width debug .It debug 認証のデバッグコードを有効にする。 .It user リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 この場合、指定されたアカウントに対しては、 パスワードの提供なしに接続が許可される。 .It valid リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 リモートユーザに指定されたアカウントに対する 自動的な接続が許可されていなければ、 .Xr login 1 コマンドは、必要となる別のユーザ認証を行う。 .It other ある種の認証情報を提供した場合のみ接続を許可する。 このオプションは、現在のところ、 既存のいずれの認証方法でもサポートされていないため、 .Cm valid オプションを指定するのと同じである。 .It none デフォルトではこの状態である。 認証情報は要求されない。 もし認証情報がなかったり不十分であれば、 .Xr login 1 プログラムによって必要となるユーザ認証を行う。 .It off 認証コードを無効にする。 すべてのユーザ証明が .Xr login 1 プログラムによって行われる。 .El .It Fl D Ar debugmode このオプションはデバックのために使われる。 これによって .Nm telnetd にデバッグ情報を表示させ、 .Nm telnetd の動作をユーザが見ることができる。 以下に示すような、いくつかの .Ar debugmode がある: .Bl -tag -width exercise .It Cm options .Tn telnet オプションのネゴシエーションについての情報が表示される。 .It Cm report .Cm options で表示される情報に加えて、 どのような操作が行われているのかという、 いくつかの付加的な情報が表示される。 .It Cm netdata .Nm telnetd が受け取ったデータストリームを表示する。 .It Cm ptydata pty に書かれたデータを表示する。 .It Cm exercise まだ実装されていない。 .El .It Fl edebug このオプションは、 .Nm telnetd が暗号化をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。 .Fl edebug オプションは、暗号化デバッグコードを有効にするために使われる。 .It Fl h ログインが完了するまでホストに特有の情報を表示しないようにする。 .It Fl L Ar loginprg このオプションは、別の login プログラムを指定するために使われる。 デフォルトでは、 .Pa /bin/login が使われる。 .It Fl n .Dv TCP keep-alives を無効にする。 通常 .Nm telnetd は、 クライアントがまだ存在するかを決定するために、 ある一定期間アイドルになっている接続を調べる .Tn TCP keep-alive 機構を有効にしている。 これにより、クラッシュしたり、 すでに接続出来ないようなマシンからの アイドルコネクションを解消できる。 .It Fl s このオプションは、 .Nm telnetd が .Tn SecurID カードをサポートする設定でコンパイルされている場合にのみ、有効である。 このオプションは、 .Fl s オプションを .Xr login 1 にそのまま渡すようにするので、 .Xr login 1 が、 .Tn SecurID によって認証されたログインのみを許可していることを表す、 .Fl s フラグをサポートしている場合にのみ役立つ。 これは通常、ファイアウォールの外側からの リモートログインを制御する場合に役立つ。 .It Fl S Ar tos telnet 接続の IP サービスタイプ (type-of-service, TOS) オプションの値を .Ar tos に設定する。 .It Fl X Ar authtype このオプションは、 .Nm telnetd が認証オプションをサポートする設定でコンパイルされている場合にのみ、 有効である。 このオプションは .Ar authtype 認証の使用を不可にし、 .Nm telnetd を再コンパイルすることなく、 特定の認証タイプを一時的に使用不可にすることができる。 .El .Pp ファイル .Pa /etc/issue.net が存在する場合、 .Nm telnetd は、telnet セッションのログインプロンプトより前に、 そのファイルの内容を表示する .Ns ( Xr issue.net 5 を参照すること)。 .Pp .Nm telnetd は、疑似端末デバイス .Ns ( Xr pty 4 を参照) をクライアントに割り当て、login プロセスを生成する。 この login プロセスは、 .Dv stdin , .Dv stdout , .Dv stderr として疑似端末のスレーブ側を使用する。 .Nm telnetd は、 .Tn telnet プロトコルを実装し、 リモートクライアントとログインプロセスの間に文字を受け渡すことにより、 疑似端末のマスター側を操作する。 .Pp .Tn telnet セッションが開始されると、 .Nm telnetd は、以下の .Tn telnet オプションを希望していることを示すために、 クライアント側にこれらの .Tn telnet オプションを送信する。 これらのオプションの詳細については、以下で説明されている: .Bd -literal -offset indent DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK .Ed .Pp クライアントに割り当てられた疑似端末は、 \*(lqcooked\*(rq モードで動作し、 .Dv XTABS .Dv CRMOD が有効になるように設定される .Ns ( Xr tty 4 を参照すること)。 .Pp .Nm telnetd は、ローカル側で有効な、以下の .Tn telnet オプションをサポートしている: .Bl -tag -width "DO AUTHENTICATION" .It "WILL ECHO" .Dv LINEMODE オプションが有効な場合、 端末の現在のエコー状態を示すために、 .Dv WILL ECHO または .Dv WONT ECHO がクライアントに送信される。 端末エコーが必要ない場合、 端末にエコーする必要があるデータを .Tn telnetd がエコー処理することを示すために、 .Dv WILL ECHO が送信され、何もエコーされない。 端末エコーが必要な場合、 .Tn telnetd が端末エコーも行わないことを示すために、 .Dv WONT ECHO が送信されるので、 端末エコーが必要な場合はクライアントが行わなければならない。 .It "WILL BINARY" クライアントが、 通常のネットワーク仮想端末が用いる 7 ビットのデータではなく、 8 ビットのデータを送信するように指定する。 .It "WILL SGA" .Dv IAC GA すなわち go ahead コマンドを送信しないように指定する。 .It "WILL STATUS" クライアントから要求があった場合に、全ての .Tn TELNET オプションの現在の状況を送信するように指定する。 .It "WILL TIMING-MARK" .Dv DO TIMING-MARK コマンドを受信した場合、常にそれに対して .Dv WILL TIMING-MARK を返信する。 .It "WILL LOGOUT" .Dv DO LOGOUT を受信した場合、 .Dv WILL LOGOUT を返信し、 .Tn TELNET セッションをシャットダウンする。 .It "WILL ENCRYPT" .Nm telnetd がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。 .El .Pp .Nm telnetd は、リモート側で有効な、以下の .Tn TELNET オプションをサポートしている: .Bl -tag -width "DO AUTHENTICATION" .It "DO BINARY" このオプションは、 .Tn telnetd が 8 ビットのデータ列を受信するように指定するために送られる。 .It "DO LFLOW" クライアントがフロー制御文字をリモート側で処理するように指定する。 .It "DO ECHO" このオプションは実際にはサポートされていないが、 .Dv WILL ECHO に対して正しく応答しない、 4.2BSD の .Xr telnet 1 クライアントを識別するために送られる。 .Dv WILL ECHO を受信すると、 .Dv DONT ECHO が返答として送信される。 .It "DO TERMINAL-TYPE" 接続のクライアント側に割り当てられた端末の タイプ名を要求できるように指定する。 .It "DO SGA" .Dv IAC GA すなわち go ahead コマンドを受信する必要がないように指定する。 .It "DO NAWS" ウィンドウ (ディスプレイ) のサイズが変わった場合に、 クライアントがサーバに知らせることを要求する。 .It "DO TERMINAL-SPEED" クライアントに割り当てられたシリアルラインの 速度に関する情報を要求できるように指定する。 .It "DO XDISPLOC" telnet クライアントが使用している X ウィンドウのディスプレイの名前を要求できるように指定する。 .It "DO NEW-ENVIRON" RFC 1572 に示されている 環境変数に関する情報を要求できるように指定する。 .It "DO ENVIRON" RFC 1408 に示されている 環境変数に関する情報を要求できるように指定する。 .It "DO LINEMODE" .Nm telnetd が linemode をサポートする設定でコンパイルされている場合にのみ送信され、 クライアントに行単位の処理を行うことを要求する。 .It "DO TIMING-MARK" .Nm telnetd が linemode と kludge linemode の 両方をサポートする設定でコンパイルされ、 クライアントが .Dv WONT LINEMODE を返信した場合にのみ、送信される。 クライアントが .Dv WILL TM を返信した場合、 クライアントが kludge linemode をサポートしていると見なす。 .Op Fl k オプションは、この機能を無効にするために使用される点に注意すること。 .It "DO AUTHENTICATION" .Nm telnetd が認証機能をサポートする設定でコンパイルされている場合にのみ送信され、 自動ログインに使用する認証情報を受信するようにする。 .It "DO ENCRYPT" .Nm telnetd がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。 .Sh ファイル .Pa /etc/services , .Pa /etc/issue.net .Sh 関連項目 .Xr telnet 1 , .Xr login 1 , .Xr issue.net 5 .Sh 準拠 .Bl -tag -compact -width RFC-1572 .It Cm RFC-854 .Tn TELNET PROTOCOL SPECIFICATION .It Cm RFC-855 TELNET OPTION SPECIFICATIONS .It Cm RFC-856 TELNET BINARY TRANSMISSION .It Cm RFC-857 TELNET ECHO OPTION .It Cm RFC-858 TELNET SUPPRESS GO AHEAD OPTION .It Cm RFC-859 TELNET STATUS OPTION .It Cm RFC-860 TELNET TIMING MARK OPTION .It Cm RFC-861 TELNET EXTENDED OPTIONS - LIST OPTION .It Cm RFC-885 TELNET END OF RECORD OPTION .It Cm RFC-1073 Telnet Window Size Option .It Cm RFC-1079 Telnet Terminal Speed Option .It Cm RFC-1091 Telnet Terminal-Type Option .It Cm RFC-1096 Telnet X Display Location Option .It Cm RFC-1123 Requirements for Internet Hosts -- Application and Support .It Cm RFC-1184 Telnet Linemode Option .It Cm RFC-1372 Telnet Remote Flow Control Option .It Cm RFC-1416 Telnet Authentication Option .It Cm RFC-1411 Telnet Authentication: Kerberos Version 4 .It Cm RFC-1412 Telnet Authentication: SPX .It Cm RFC-1571 Telnet Environment Option Interoperability Issues .It Cm RFC-1572 Telnet Environment Option .Sh バグ いくつかの .Tn TELNET コマンドは、部分的にしか実装されていない。 .Pp オリジナルの 4.2 BSD の .Xr telnet 1 のバグに対処するため、 .Nm telnetd は、ある種のうさんくさいプロトコル通信を行うことにより、 リモートクライアントが実際に 4.2 BSD の .Xr telnet 1 であるかを判断しようとする。 .Pp バイナリモードは、よく似たオペレーティングシステム (この場合 Unix) 間以外では、 一般的な互換性がない。 .Pp リモートクライアントから受け取った端末タイプ名は、小文字に変換される。 .Pp .Nm telnetd は、 .Tn TELNET .Dv IAC GA (go ahead) コマンドを絶対に送らない。 .Pp ソースコードが分かりやすくない。 .Sh 翻訳者謝辞 この man ページの翻訳にあたり、 FreeBSD jpman project による翻訳を参考にさせていただいた。