クスクス り〜な!
雑記など

さて、Linux等のUNIX系OSは、telnetなどを使って遠隔から操作したりするのが得意です。また、すぐ横にあったとしても、Windowsなどから操作できればとても楽ですね。また、ネットワークの実験にもなりますので、telnetサーバーを導入してみましょう。

自分で導入しましょうとか言っていてなんなんですが、telnetは手軽な分、とても危険で無防備なものです。あくまでもローカルでの初期設定時だけに使用すべきです。外に接続するようになったら、一番に引っこ抜いておかなくてはいけません

telnetサーバーのパッケージは、「telnet-server_0.17.6x-23vl1_i386.rpm」です。しかし、CD-ROM内をいくら探しても見つかりません。

telnet-serverは、かつては定番のソフトでしたが、いまではセキュリティの問題からあまり使われなくなっています。そのため、Vineの標準的なCDからは、もう外されています

しかし、ちゃんと Vine Plus という追加ソフト集には収録されていますので、aptがちゃんとしていてネットワークが通っていれば、すぐに導入できます。

まず、apt で最新の情報に更新します。

# apt-get update

そして、検索してみます。

# apt-cache search telnet
curl - A utility for getting files from remote servers (FTP, HTTP, and others).
screen - スクリーンマネージャ - 一つの端末で多重ログイン
tcp_wrappers - TCP デーモンのラッパとして働くセキュリティツール
telnet - The client program for the telnet remote login protocol.
curl-devel - Files needed for building applications with libcurl.
delegate - delegate
expect - Tcl/Tk 開発環境: expect
httptunnel - HTTP プロトコル上に接続をトンネル化するプログラム
perl-URI - URI module for perl
telnet-server - The server program for the telnet remote login protocol.
w3c-libwww - General-purpose Web API written in C
zebedee - 暗号と圧縮を備えたシンプルで安全な TCP/IP, UDP/IP トンネル

お?ありましたね。パッケージ名は、「telnet-server」です。では、早速導入してみましょう。

# apt-get install telnet-server

おそらく、これを実行すると、[Y/n] と質問されることでしょう。これはようするに、「 telnet-server を導入するには、 inetd も導入しないといけないよ。いい?」っとまあ、こういう意味です。telnet-serverは、inetdというソフトなしには意味がない!と。 こういうのを、ソフトの依存関係といいます。

ま、そんなわけで、「Y」を押してください。

telnet-server と inetd が自動的にダウンロードされ、インストールされます。

動かす前に・・・ anchor.png

telnetサーバーを動かす前に、ちょっと前準備があります。

まず、telnetサーバーは、 inetd というデーモン(常駐ソフトと考えてください)によって管理され、動作します。いわば、inetdは受付。受付に、telnetの通信を許可するように頼んでおかなくてはいけません。(おそらくセキュリティ上の理由でしょう。標準では許可されていません。)

viで、 /etc/inetd.conf というファイルを開いてください。なにやら、やたらとコメントアウトが多いファイルですね。ずーっと下の方をみていくと・・・・・ ほら! あった。ここが、telnetサーバーの許可をする部分です。

# These are standard services.
#
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd  in.ftpd -l -a
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd
#telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
#gopher stream  tcp     nowait  root    /usr/sbin/tcpd  gn

# do not uncomment smtp unless you *really* know what you are doing.
# smtp is handled by the sendmail daemon now, not smtpd.  It does NOT
# run from here, it is started at boot time from /etc/rc.d/rc#.d.

ここのコメントアウトを外しておきます。

さて、次は、最低限のセキュリティです。

このサーバーはリーター越しのローカルネットワーク上にあります。普通はルーターが外からの変なアクセスを制限するものなんですが、設定をミスッていたりなども起こりえます。

そこで、telnetサーバーに対しての通信を、許可したホストとだけ行えるようにしておきます。

そのための設定は、/etc/hosts.allow と、 /etc/hosts.deny で行います。

基本的な考え方は、 hosts.deny で、一旦全ての接続を禁止し、hosts.allow で特定の接続だけを許可するというパターンになります。Vineの標準の状態では、両ファイルとも、中身は全てコメント行なので、からっぽと同じ状態です。

では、実際に設定してみましょう。

host.denyで全ての接続を拒否

#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!

ALL : ALL

これで、全ての接続は禁止されます。

そして、特定の接続だけを許可します。 この場合、おそらくはルーター(外との出入り口)もローカルアドレスでしょう。なので、このサーバーにtelnetするマシンのみを許可します。(つまり、ネットワークまるまる許可とかをしない)

hosts.allowで接続を許可

#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#

in.telnetd: 192.168.1.11 192.168.1.12  ← 許可するWindowsマシンなどのIP 
 

お解りになると思いますが、スペースで区切れば複数書くことができます。

Page Top

tenletサーバー起動 anchor.png

さあ、これで準備できました。telnetサーバーを起動してみましょう。 先にも説明しましたが、telnetサーバーは、inetd という受付によって案内されて動きます。つまり、inetd を動かせば、telnetサーバーが動き出します。

inetd を起動します。

# /etc/init.d/inetd start
Starting INET services:                             [  OK  ]
#

さあ、あとは、Windowsなどからtelnetで接続してみます。画面も広いし、使い慣れたキーボードが使えるので、快適です。

ちなみに、私は、telnet用のWindowsソフトは、Putty というのを使っています。これはSSHなどにも使えるのでお勧めです。

なにこれ?
お品書き
雑記など
XOOPS Cube PROJECT