telnet は、主にクライアントPCから、リモートでサーバにアクセスして、シェルコマンドを実行することができるが、 ネットワークを流れるデータは、いわゆる”平文”であり”暗号化”されていない。
“平文”は、ネットワークを流れるデータが盗聴される可能性がある。(しかし、ローカルネットだからといって安心してはいけない)。
特に、インターネットを経由してサーバを操作する場合は、できれば”平文” telnet を利用するのではなく、sshによる”暗号化”のトンネルを通して操作をするべきだ。この ssh の設定は案外簡単である。ssh の設定方法は別のページで解説する。
ここでは、サーバ機からモニタを取り外すなどの理由から、とりあえず telnet を設定してリモート操作したい場合と考え、telnet が使えるように設定をする。
FreeBSD をインストールした直後でも、以下の設定を行えば telnet が利用できる。
%su Password: # vi /etc/rc.conf
/etc/rc.conf の中に次の1行を加える。ファイル末尾でよい。
inetd_enable="YES"
# vi /etc/inetd.conf
/etc/inetd.conf の telnet stream tcp ・・・ の行がコメントアウトされているので、有効にする。
telnet stream tcp nowait root /usr/libexec/telnetd telnetd #telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd
# reboot
以下は、Windows の DOS窓で、 FreeBSD7.1R( ここではIPを 192.168.0.111/24 とする ) に telnet 接続する例。
C:/> telnet 192.168.0.111 接続中: 192.168.0.111... FreeBSD/i386 (mugen.vdobv-local.com) (ttyp0) login:
/etc/hosts.allow を利用することで、telnet 接続クライアントを制限することができる。
まずは、オリジナルファイルを別ファイル名に変更して保管しておく。
# cd /etc # ls -al | grep hosts.allow ここで存在するファイル名を確認する。 # mv hosts.allow hosts.allow.org
そして、新しいファイルとして hosts.allow に記述する。
# vi /etc/hosts.allow
以下は、LAN内(192.168.0.0/24と仮定する)に属するIPアドレスからの接続のみを許可する例である。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow telnetd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny
DENY は、接続の拒否を指定するものである。従って、例えばであるが、inetd 経由で起動するproftpd をインストールした場合は、hosts.allow で proftpd の許可をしなければ接続できなくなる。
念のため、proftpd や sshd をインストールした場合に、どのように記述すればよいか参考までに書いておく。
#------------------------------------------------------------------- # hosts.allow #------------------------------------------------------------------- # LAN ( 192.168.0.0/24 を許可する ) #------------------------------------------------------------------- ALL : localhost 127.0.0.1 : allow #telnetd : 192.168.0.0/255.255.255.0 : allow proftpd : 192.168.0.0/255.255.255.0 : allow sshd : 192.168.0.0/255.255.255.0 : allow #------------------------------------------------------------------- # DENY ( 上記以外は全て拒否する ) #------------------------------------------------------------------- ALL : ALL : deny
TeraTerm等を用いてFreeBSDに接続し、viエディタで編集中に日本語でコメントをつけようと思っても文字化けする場合がある。 TeraTerm側での文字コードは、「設定」⇒「端末」の順にメニューを選択して変更すればよい。
ここでは、ストレスなく日本語文字で編集するためのFreeBSD側の環境変数の設定方法をメモしておく。
| 文字コード | EUC |
|---|---|
| シェル | tcsh |
FreeBSDにログインしたディレクトリから .cshrc というファイルを探し、適当な位置に次の一行を追加する。
setenv LANG ja_JP.eucJP