Use telnet



telnetでリモートログインする

telnet

telnet(Protocol)TCP/IP接続されたマシンにリモートログインして、そのマシンを遠隔操作するための文字端末の機能を提供するものです。telnetを利用することで、離れた所にあるマシンを、まるで自分の前にあるかのように操れます。

最近は――と言っても、もう結構前からになりますが――ネットワーク上にパスワードを平文で流すtelnetやFTPを使うのはやめましょう、という傾向にありますが、それでも使い方ぐらいは知っておきたいものです。

デフォルトではポート番号23に接続しますが、80(HTTP)や25(SMTP)といった他のポート番号を指定することも可能です。他のポートを指定する使い方については次章以降で説明することにして、ここでは最も基本的なリモートログインの仕方を見ていきましょう。

なお、ここからの文書中に書かれたクライアントに関する記述は、基本的にMS Windows 98付属のtelnetクライアントについてのものです。UNIX系OSのユーザーはこのページを見なくても、manを始めとした詳しいコマンドリファレンスがたくさんありますし、MacOSについては私が知りません。 Windows NT系OSについては、[クライアントの設定・基本操作]のXPに関する項を参照すれば、クライアントの操作等は理解できると思います。

接続

基本的な設定としては、「ローカルエコー」オフ(サーバーによってはオン)、「漢字コード」日本語EUC、「エミュレーション」VT-100/漢字です。設定の仕方は[クライアントの設定・基本操作]を参照して下さい。

設定が済んだらつないでみましょう。「接続」の「リモートシステム」を選択します。標準ではtelnetのポート番号は23なのでそれを使用しますが、"telnet"のままでも構いません。

蛇足ですが、接続先のホスト上でtelnetd等のサーバープログラムが動いていないと(且つそのサーバーがあなたのリモートログインを許可していないと)、ログインはできません。

ここではトクトクの第2ポップアップサーバーに接続してみます。

トクトクの場合、正しく接続できたら次のように表示されます。

 ----------------------------------------------
                Welcome to TOK2!!
 ----------------------------------------------
   This site is Free Web Space.
      (telnet, ftp, cgi, ssi, and gcc are OK)

                               http://tok2.com/
 ----------------------------------------------

login:

このようなメッセージが表示されない場合は、接続に失敗している可能性があります。ホスト名とポートが正しいかを確認して、もう一度やり直して下さい。

ログイン

接続できたらログインしましょう。予め取得しておいたトクトクのアカウントとパスワードを使用します。

login: mullah
Password:
Last login: Fri Dec 28 13:09:43 from ocn.ne.jp
   +-----------------------------------------+
   | * * * * * YOU CAN USE COMMAND * * * * * |
   +-----------------------------------------+
   |  cd, ls, rm, cp, mv, pwd, mkdir, rmdir  |
   |  chmod, more, cat, vi, passwd, tar, gcc |
   |  gzip, gunzip, exit                     |
   +-----------------------------------------+
tok2$

login:の後に続けてアカウント名を、Password:の後にパスワードを入力します。ログインに成功すると上のようなメッセージが表示されます。パスワードはエコーバックされません。線で囲まれた部分はトクトクのシェルで使えるコマンドを示しています。

もし認証に失敗すると、下のようなメッセージが表示されます。

Login incorrect

この場合は認証をし直して下さい。

telnetを使っている時、もしかすると改行キーを押しても何も起こらないか、あるいは「不明なコマンドです」(実際は英語です)といったメッセージが表示されることがあるかもしれません。これは送信される文字コードが異なるために起きるのですが、そういう時は改行キーではなく、Ctrl-J(Ctrlキーを押しながらJを押す)を押してみて下さい。

ここではコマンドの詳しい説明は省きます。UNIX系OSのコマンドを知らない人には使う意味があまりないでしょうし、コマンドの説明は本サイトの扱う範囲ではありませんから。コマンドを知らないという人は、書店に行けばUNIX系OSに関する本がたくさんあると思いますので、自分で調べてみて下さい。

接続例

では実際にログインした後にどのようなことができるのか、トクトクでの作業を例に流れを示したいと思います。

と言っても、端末がtelnetのクライアントに変わり、コマンドの使用が制限されただけで、Linuxなんかのコマンドラインとそう変わりはしません。コマンドラインに不慣れな人は、所々に簡単な説明を挟んでおきますので、慣れるという意味でも一度は目を通しておくとよいでしょう。

まず接続します。コマンドライン等から[クライアントの設定・基本操作]で示した手順でtelnetを起動させ、接続して下さい。ログインに成功したら、今回は、あらかじめFTPでサーバーにアップロードしておいたCGI掲示板の、Cのソースファイルをコンパイルしてみることにします。

手順としては、まずディレクトリ(bbs)を新規に作ってその中に圧縮ファイル(bbs.tar.gz)を移し、圧縮ファイルを伸張・展開して出てきたCのソースファイル(bbs.c)をコンパイル。生成したCGIに適当なパーミッションを与えて終了です。

では始めましょう。

tok2$ ls -l
合計 28
-rw-r--r-- 1 mullah member  11134 Dec 28 13:09 bbs.tar.gz
drwx-----x 2 mullah member  4096 Dec 23 18:39 cgi-bin
-rw-r--r-- 1 mullah member  3262 Dec 28 09:49 default.css
-rw-r--r-- 1 mullah member  443 Dec 28 09:49 index.css
-rw-r--r-- 1 mullah member  4064 Dec 28 09:48 index.html
tok2$ mkdir bbs
tok2$ mv bbs.tar.gz bbs
tok2$ ls -l
合計 20
drwxr-xr-x 2 mullah member  4096 Dec 28 13:10 bbs
drwx-----x 2 mullah member  4096 Dec 23 18:39 cgi-bin
-rw-r--r-- 1 mullah member  3262 Dec 28 09:49 default.css
-rw-r--r-- 1 mullah member  443 Dec 28 09:49 index.css
-rw-r--r-- 1 mullah member  4064 Dec 28 09:48 index.html
tok2$

最初にlsで現在いる(カレント)ディレクトリの内容を確認しています。次にmkdirで"bbs"ディレクトリを作り、mvで"bbs.tar.gz"を"bbs"に移動させた後、再びカレントディレクトリの内容を表示しています。すると"bbs"というディレクトリが新たにでき、"bbs.tar.gz"が消えている、つまり移動したことがわかります。

tok2$ cd bbs
tok2$ pwd
/home/member/mullah/bbs
tok2$ ls -l
合計 12
-rw-r--r-- 1 mullah member  11134 Dec 28 13:09 bbs.tar.gz
tok2$ tar zxvf bbs.tar.gz
bbs.c
bbs.h
jcode.h
tok2$ ls -l
合計 60
-r--r--r-- 1 mullah member  28769 Mar 20 2000 bbs.c
-r--r--r-- 1 mullah member  3196 Mar 20 2000 bbs.h
-rw-r--r-- 1 mullah member  11134 Dec 28 13:09 bbs.tar.gz
-r--r--r-- 1 mullah member  11103 Mar 20 2000 jcode.h
tok2$

cdで"bbs"に移動後、pwdで自分が"bbs"にいることを確認します。ディレクトリの内容を表示させると、先程移動させた"bbs.tar.gz"ファイルがあるので、tarを使ってそれを伸張・展開します。すると"bbs.c"、"bbs.h"、"jcode.h"の三つのファイルが出てきました。

tok2$ gcc bbs.c -o bbs.cgi
tok2$ ls -l
合計 100
-r--r--r-- 1 mullah member  28769 Mar 20 2000 bbs.c
-rwxr-xr-x 1 mullah member  38675 Dec 28 13:12 bbs.cgi
-r--r--r-- 1 mullah member  3196 Mar 20 2000 bbs.h
-rw-r--r-- 1 mullah member  11134 Dec 28 13:09 bbs.tar.gz
-r--r--r-- 1 mullah member  11103 Mar 20 2000 jcode.h
tok2$ rm -f bbs.c bbs.tar.gz bbs.h jcode.h
tok2$ chmod 700 bbs.cgi
tok2$ ls -l
合計 36
-rwx------ 1 mullah member  38675 Dec 28 13:12 bbs.cgi
tok2$

gccで"bbs.c"をコンパイルします。bbs.cgiが生成されたことを確認して、rmでいらなくなったファイルをすべて消し、chmodで"bbs.cgi"のパーミッションを変更します(トクトクでは、CGIファイルのパーミッションは700、CGIの置かれたディレクトリは701になります)。

tok2$ cd ..
tok2$ pwd
/home/member/mullah
tok2$ chmod 701 bbs
tok2$ ls -l
合計 20
drwx-----x 2 mullah member  4096 Dec 28 13:12 bbs
drwx-----x 2 mullah member  4096 Dec 23 18:39 cgi-bin
-rw-r--r-- 1 mullah member  3262 Dec 28 09:49 default.css
-rw-r--r-- 1 mullah member  443 Dec 28 09:49 index.css
-rw-r--r-- 1 mullah member  4064 Dec 28 09:48 index.html
tok2$ exit

とりあえずもうこのディレクトリでやることはないので、cdで親ディレクトリに移動し、位置を確認した後、残る作業――"bbs"ディレクトリのパーミッション変更を行います。パーミッションが正しく変更できたか確認して、作業完了です。あとはexitでログアウトするだけです。

簡単な接続+作業例を示してみましたが――どうでしょうか。

フリーウェブスペースにおいて、telnetでアーカイバの展開やプログラムのコンパイルができると大変便利です。今回はフリーウェブスペースにログインしましたが、仕事等でUNIX系OSサーバーにログインすることも少なくはないと思います。リモートログインできる環境を持っているなら、ぜひ試してみて下さい。


Copyright (C) 2001-2005 Muller Norland.
Last Modified: 2003-11-01 19:26:10 (JST)