プロトコル補足

Telnet てるねっと

リモートログインコマンドラインSSHターミナルネットワーク管理セキュリティ
Telnetについて教えて

簡単に言うとこんな感じ!

Telnetは「離れた場所にあるコンピューターに、まるで目の前にいるように操作できる仕組み」だよ。ただし、やりとりがすべて”丸見え”で暗号化なし。今は安全なSSHに置き換えられてるんだ!


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 vs SSH 比較 Telnet(旧来) SSH(現在の標準) ポート: TCP 23番 ポート: TCP 22番 暗号化: なし(平文) 暗号化: あり(強力な暗号) 認証: ID/PW(平文) 認証: 公開鍵・パスワード(暗号) セキュリティ: 低(盗聴リスク大) セキュリティ: 高(盗聴困難) 現状: 非推奨・レガシー 現状: 業界標準・デフォルト推奨 置換

Telnetは「ネットワーク上で丸聞こえのまま叫んでいるようなもの」。SSHは「完全に暗号化された専用電話回線でやりとりするイメージ」です。

Telnetが今でも使われる例外的なケース

  1. クローズドな検証環境・ラボ: インターネットから切り離された社内テスト環境での動作確認
  2. 古いFA機器・産業機器の管理: 製造現場の古い制御装置がTelnetしか対応していないケース
  3. プロトコル学習・デバッグ: SMTPやHTTPなどのテキストベースプロトコルの手動確認に今でも活用
  4. レガシーシステムの保守: 更新できない古いシステムへのやむを得ない接続
# 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 854Telnetプロトコルの仕様(1983年制定)
RFC 855Telnetオプション仕様
RFC 856〜861Telnetの各種オプション(エコー・バイナリ転送など)
RFC 4251〜4254SSHプロトコルの仕様(Telnetの後継)

関連用語

  • SSH — Telnetの後継。暗号化されたセキュアなリモートログインプロトコル
  • TCP/IP — Telnet・SSHが動作するトランスポート層・インターネット層のプロトコル群
  • ポート番号 — TelnetはTCP 23番、SSHはTCP 22番を使用する
  • 平文通信 — 暗号化なしで送受信されるデータ。Telnetの最大の問題点
  • FTP — ファイル転送プロトコル。Telnet同様に平文通信でレガシー化が進んでいる
  • リモートデスクトップ — GUIでリモート操作する現代的な手段。Telnetはテキストベース