Telnet てるねっと
Telnetとは
Telnet(テルネット) は、ネットワーク経由で遠隔地にあるコンピューターへログインし、コマンドライン操作を行うためのプロトコル(通信規約)および、そのクライアントソフトウェアの名称です。正式名称は “Telecommunication Network” の略で、1969年に標準化された非常に歴史の長い技術です。
仕組みはシンプルで、手元のPCからTelnetクライアントを使って接続先サーバーのTCPポート23番にアクセスすると、まるでそのサーバーの前に座っているかのようにコマンドを打ち込んで操作できます。かつてはサーバー管理やネットワーク機器の設定変更など、IT管理者の日常的なリモート作業ツールとして広く利用されていました。
しかし最大の問題は、通信内容がすべて平文(暗号化なし)で流れること。ネットワーク上でパケットをキャプチャされると、IDやパスワードを含むすべての情報が丸見えになってしまいます。そのため現在では暗号化通信を行う SSH(Secure Shell) に置き換えられており、Telnetはほぼレガシー技術として扱われています。
Telnetの仕組みと特徴
| 項目 | 内容 |
|---|---|
| プロトコル種別 | アプリケーション層プロトコル |
| 使用ポート | TCP 23番 |
| 通信の暗号化 | なし(平文) |
| 認証方式 | ID・パスワード(平文で送信) |
| 主な用途 | リモートログイン、機器設定、デバッグ |
| 現在の立場 | レガシー技術(SSH推奨) |
Telnetの通信フローはとても直感的です。
[クライアントPC] ──── TCP:23 ──→ [サーバー/ネットワーク機器]
↓ ↓
コマンド入力 コマンド実行・結果返却
↑ ↑
結果表示 ←──────────────────────────────────
覚え方
「Tell Net(ネットに丸ごと話す)」と覚えると忘れにくいよ。暗号化なしで何でもネットに”話しかけてしまう”イメージ。だからセキュリティがマズイ、という流れもセットで覚えられる!
Telnetが使われていた主なシーン
- サーバー管理: Linuxサーバーへのリモートログインと設定変更
- ルーター・スイッチ設定: ネットワーク機器のCLI(コマンドライン)操作
- デバッグ・確認作業: メールサーバー(SMTP)やWebサーバー(HTTP)の応答確認
- 学習・テスト用途: プロトコルの動作確認(今もこの用途では使われることがある)
歴史と背景
- 1969年 — ARPANET(インターネットの前身)の初期プロトコルとしてTelnetの原型が登場
- 1983年 — RFC 854 として標準化。ネットワーク管理者の必携ツールに
- 1990年代 — インターネットの普及とともにTelnetも爆発的に普及。多くのサーバーがTelnetログインを受け付けていた
- 1995年 — SSHプロトコルがTatu Ylönenによって開発・公開。Telnetの安全な代替として注目される
- 2000年代 — 企業・政府機関を中心にSSHへの移行が加速。Telnetはセキュリティリスクとして無効化が推奨されるように
- 現在 — 多くのOSでTelnetクライアントはデフォルト無効。IoT機器や古いシステムで名残が見られる程度
TelnetとSSHの比較
Telnetを語るうえで避けられないのが SSH(Secure Shell) との比較です。一言で言えば、SSHはTelnetのセキュリティ欠陥を解決するために生まれた後継技術です。
Telnetは「ネットワーク上で丸聞こえのまま叫んでいるようなもの」。SSHは「完全に暗号化された専用電話回線でやりとりするイメージ」です。
Telnetが今でも使われる例外的なケース
- クローズドな検証環境・ラボ: インターネットから切り離された社内テスト環境での動作確認
- 古いFA機器・産業機器の管理: 製造現場の古い制御装置がTelnetしか対応していないケース
- プロトコル学習・デバッグ: SMTPやHTTPなどのテキストベースプロトコルの手動確認に今でも活用
- レガシーシステムの保守: 更新できない古いシステムへのやむを得ない接続
# Telnetでメールサーバーの応答を確認する例(学習・デバッグ用途)
$ telnet mail.example.com 25
Trying 203.0.113.1...
Connected to mail.example.com.
220 mail.example.com ESMTP ready
EHLO test.local
250-mail.example.com Hello
...
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 854 | Telnetプロトコルの仕様(1983年制定) |
| RFC 855 | Telnetオプション仕様 |
| RFC 856〜861 | Telnetの各種オプション(エコー・バイナリ転送など) |
| RFC 4251〜4254 | SSHプロトコルの仕様(Telnetの後継) |