名前


telnetd - DARPA telnet プロトコルサーバ

書式


/usr/sbin/in.telnetd [-hns] [-a authmode] [-D debugmode] [-L loginprg] [-S tos] [-X authtype] [-edebug] [-debug port]

説明


telnetd プログラムは、 DARPA telnet 対話的通信プロトコルをサポートするサーバである。 telnetd は、通常は

 /etc/services
ファイル ( services(5) を参照) に記述されている telnet ポートへの接続要求を受けて、 インターネットサーバ ( inetd(8) を参照) から起動される。 -debug オプションは、 telnetdinetd(8) ではなく、手動で起動するために使われる。 この方法で起動した場合、 別の TCP ポート番号で telnetd を実行するために、 port を指定することができる。

telnetd プログラムは以下のオプションを受け付ける:
-a authmode
 このオプションは、どのモードが認証に使われるかを指定するために用いられる。 このオプションは、 telnetd が認証をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。 これは現在のバージョンでは使用できない。 authmode のとしては、以下の値を受け付ける:
debug 認証のデバッグコードを有効にする。
user リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 この場合、指定されたアカウントに対しては、 パスワードの提供なしに接続が許可される。
valid リモートユーザは、自分自身であること示すための 有効な認証情報を提供した時にのみ接続が許可される。 リモートユーザに指定されたアカウントに対する 自動的な接続が許可されていなければ、 login(1) コマンドは、必要となる別のユーザ認証を行う。
other ある種の認証情報を提供した場合のみ接続を許可する。 このオプションは、現在のところ、 既存のいずれの認証方法でもサポートされていないため、 valid オプションを指定するのと同じである。
none デフォルトではこの状態である。 認証情報は要求されない。 もし認証情報がなかったり不十分であれば、 login(1) プログラムによって必要となるユーザ認証を行う。
off 認証コードを無効にする。 すべてのユーザ証明が login(1) プログラムによって行われる。
-D debugmode
 このオプションはデバックのために使われる。 これによって telnetd にデバッグ情報を表示させ、 telnetd の動作をユーザが見ることができる。 以下に示すような、いくつかの debugmode がある:
options telnet オプションのネゴシエーションについての情報が表示される。
report options で表示される情報に加えて、 どのような操作が行われているのかという、 いくつかの付加的な情報が表示される。
netdata telnetd が受け取ったデータストリームを表示する。
ptydata pty に書かれたデータを表示する。
exercise
 まだ実装されていない。
-edebug
 このオプションは、 telnetd が暗号化をサポートする設定でコンパイルされている場合にのみ、 有効である点に注意すること。 -edebug オプションは、暗号化デバッグコードを有効にするために使われる。
-h ログインが完了するまでホストに特有の情報を表示しないようにする。
-L loginprg
 このオプションは、別の login プログラムを指定するために使われる。 デフォルトでは、
 /bin/login
が使われる。
-n
 TCP
keep-alives を無効にする。 通常 telnetd は、 クライアントがまだ存在するかを決定するために、 ある一定期間アイドルになっている接続を調べる TCP keep-alive 機構を有効にしている。 これにより、クラッシュしたり、 すでに接続出来ないようなマシンからの アイドルコネクションを解消できる。
-s このオプションは、 telnetd SecurID カードをサポートする設定でコンパイルされている場合にのみ、有効である。 このオプションは、 -s オプションを login(1) にそのまま渡すようにするので、 login(1) が、 SecurID によって認証されたログインのみを許可していることを表す、 -s フラグをサポートしている場合にのみ役立つ。 これは通常、ファイアウォールの外側からの リモートログインを制御する場合に役立つ。
-S tos
 telnet 接続の IP サービスタイプ (type-of-service, TOS) オプションの値を tos に設定する。
-X authtype
 このオプションは、 telnetd が認証オプションをサポートする設定でコンパイルされている場合にのみ、 有効である。 このオプションは authtype 認証の使用を不可にし、 telnetd を再コンパイルすることなく、 特定の認証タイプを一時的に使用不可にすることができる。

ファイル

 /etc/issue.net
が存在する場合、 telnetd は、telnet セッションのログインプロンプトより前に、 そのファイルの内容を表示する ( issue.net(5) を参照すること)。

telnetd は、疑似端末デバイス ( pty(4) を参照) をクライアントに割り当て、login プロセスを生成する。 この login プロセスは、

 stdin
,
 stdout
,
 stderr
として疑似端末のスレーブ側を使用する。 telnetd は、 telnet プロトコルを実装し、 リモートクライアントとログインプロセスの間に文字を受け渡すことにより、 疑似端末のマスター側を操作する。

telnet セッションが開始されると、 telnetd は、以下の telnet オプションを希望していることを示すために、 クライアント側にこれらの telnet オプションを送信する。 これらのオプションの詳細については、以下で説明されている: 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

クライアントに割り当てられた疑似端末は、 “cooked” モードで動作し、

 XTABS
 CRMOD
が有効になるように設定される ( tty(4) を参照すること)。

telnetd は、ローカル側で有効な、以下の telnet オプションをサポートしている:
WILL ECHO
 LINEMODE
オプションが有効な場合、 端末の現在のエコー状態を示すために、
 WILL ECHO
または
 WONT ECHO
がクライアントに送信される。 端末エコーが必要ない場合、 端末にエコーする必要があるデータを telnetd がエコー処理することを示すために、
 WILL ECHO
が送信され、何もエコーされない。 端末エコーが必要な場合、 telnetd が端末エコーも行わないことを示すために、
 WONT ECHO
が送信されるので、 端末エコーが必要な場合はクライアントが行わなければならない。
WILL BINARY クライアントが、 通常のネットワーク仮想端末が用いる 7 ビットのデータではなく、 8 ビットのデータを送信するように指定する。
WILL SGA
 IAC GA
すなわち go ahead コマンドを送信しないように指定する。
WILL STATUS クライアントから要求があった場合に、全ての TELNET オプションの現在の状況を送信するように指定する。
WILL TIMING-MARK
 DO TIMING-MARK
コマンドを受信した場合、常にそれに対して
 WILL TIMING-MARK
を返信する。
WILL LOGOUT
 DO LOGOUT
を受信した場合、
 WILL LOGOUT
を返信し、 TELNET セッションをシャットダウンする。
WILL ENCRYPT telnetd がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。

telnetd は、リモート側で有効な、以下の TELNET オプションをサポートしている:
DO BINARY このオプションは、 telnetd が 8 ビットのデータ列を受信するように指定するために送られる。
DO LFLOW クライアントがフロー制御文字をリモート側で処理するように指定する。
DO ECHO このオプションは実際にはサポートされていないが、
 WILL ECHO
に対して正しく応答しない、 4.2BSD の telnet(1) クライアントを識別するために送られる。
 WILL ECHO
を受信すると、
 DONT ECHO
が返答として送信される。
DO TERMINAL-TYPE 接続のクライアント側に割り当てられた端末の タイプ名を要求できるように指定する。
DO SGA
 IAC GA
すなわち go ahead コマンドを受信する必要がないように指定する。
DO NAWS ウィンドウ (ディスプレイ) のサイズが変わった場合に、 クライアントがサーバに知らせることを要求する。
DO TERMINAL-SPEED
 クライアントに割り当てられたシリアルラインの 速度に関する情報を要求できるように指定する。
DO XDISPLOC telnet クライアントが使用している X ウィンドウのディスプレイの名前を要求できるように指定する。
DO NEW-ENVIRON RFC 1572 に示されている 環境変数に関する情報を要求できるように指定する。
DO ENVIRON RFC 1408 に示されている 環境変数に関する情報を要求できるように指定する。
DO LINEMODE telnetd が linemode をサポートする設定でコンパイルされている場合にのみ送信され、 クライアントに行単位の処理を行うことを要求する。
DO TIMING-MARK telnetd が linemode と kludge linemode の 両方をサポートする設定でコンパイルされ、 クライアントが
 WONT LINEMODE
を返信した場合にのみ、送信される。 クライアントが
 WILL TM
を返信した場合、 クライアントが kludge linemode をサポートしていると見なす。 [-k] オプションは、この機能を無効にするために使用される点に注意すること。
DO AUTHENTICATION
  telnetd が認証機能をサポートする設定でコンパイルされている場合にのみ送信され、 自動ログインに使用する認証情報を受信するようにする。
DO ENCRYPT telnetd がデータの暗号化をサポートする設定で コンパイルされている場合にのみ送信され、 データ列を復号化するように指定する。

ファイル


 /etc/services
,
 /etc/issue.net

関連項目


telnet(1), login(1), issue.net(5)

準拠


RFC-854 TELNET PROTOCOL SPECIFICATION
RFC-855 TELNET OPTION SPECIFICATIONS
RFC-856 TELNET BINARY TRANSMISSION
RFC-857 TELNET ECHO OPTION
RFC-858 TELNET SUPPRESS GO AHEAD OPTION
RFC-859 TELNET STATUS OPTION
RFC-860 TELNET TIMING MARK OPTION
RFC-861 TELNET EXTENDED OPTIONS - LIST OPTION
RFC-885 TELNET END OF RECORD OPTION
RFC-1073 Telnet Window Size Option
RFC-1079 Telnet Terminal Speed Option
RFC-1091 Telnet Terminal-Type Option
RFC-1096 Telnet X Display Location Option
RFC-1123 Requirements for Internet Hosts -- Application and Support
RFC-1184 Telnet Linemode Option
RFC-1372 Telnet Remote Flow Control Option
RFC-1416 Telnet Authentication Option
RFC-1411 Telnet Authentication: Kerberos Version 4
RFC-1412 Telnet Authentication: SPX
RFC-1571 Telnet Environment Option Interoperability Issues
RFC-1572 Telnet Environment Option

バグ


いくつかの TELNET コマンドは、部分的にしか実装されていない。

オリジナルの 4.2 BSD の telnet(1) のバグに対処するため、 telnetd は、ある種のうさんくさいプロトコル通信を行うことにより、 リモートクライアントが実際に 4.2 BSD の telnet(1) であるかを判断しようとする。

バイナリモードは、よく似たオペレーティングシステム (この場合 Unix) 間以外では、 一般的な互換性がない。

リモートクライアントから受け取った端末タイプ名は、小文字に変換される。

telnetd は、 TELNET

 IAC GA
(go ahead) コマンドを絶対に送らない。

ソースコードが分かりやすくない。

翻訳者謝辞


この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。

openSUSE Logo

コンテンツ