Telnet(テルネット)は、インターネット上やLAN内のコンピュータに接続し、そのコンピュータ上でコマンドを実行できるようにするためのプロトコルです。ユーザーがネットワーク上の他のコンピュータに接続し、そのコンピュータに存在するリソースやアプリケーションにアクセスできるようにすることを目的としています。

参考 プロトコルとは?

主にTCP/IPで使用され、デフォルトではTCPポート番号23を利用して通信します。
このページではTelnetとは何か?どのような原理で動作するか?をIT初心者向けに1からわかりやすく、また同時にSSHとの違いについても解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。
Telnetとは?
Telnetは、インターネット上でリモートコンピュータ(=サーバ)に接続し、そのコンピュータ上でコマンドを実行できるようにするためのプロトコルです。主にTCP/IPネットワークで使用され、デフォルトでTCPポート23を利用して通信します。

Telnetは、クライアント-サーバーモデルを採用しています。

これは、あなたのコンピュータ(クライアント)がリモートのコンピュータ(サーバー)に接続し、コマンドを実行できるという意味です。インターフェースはテキストベースで、コマンドラインで操作を行います。
Telnetの注意点
Telnetはデータの暗号化や認証機能がなくセキュリティが低いため、現在ではほとんど使われていません。代わりに、SSH(Secure Shell)などのより安全なプロトコルが一般的に利用されています。たまに、平成初期から稼働しているようなレガシーシステムや、このページで記載しているようなネットワークエンジニアの教育目的での使用がまだ残っている、というような状況。

現代のモダンなシステムでTelnetを利用することはほとんどありませんが、このページではTelnetとは何か?をイメージしやすいように実際にTelnetを利用してサーバへ接続する方法をご紹介します。
あまり利用頻度は多くはありませんが、Telnetのイメージが深まると思いますので、是非一度試してみてください。
Telnetを利用したサーバへの接続方法
Telnetを利用したサーバ接続方法の作業ステップは↓の通り。
ステップ1:Telnetクライアントのインストール
Windowsの場合、コントロールパネルから「プログラムと機能」を選択し、「Windowsの機能の有効化または無効化」でTelnetクライアントを有効化。MacやLinuxでは、通常はTelnetクライアントが標準でインストールされています。
ステップ2:コマンドプロンプトまたはターミナルを開く
Windowsでは「cmd」または「PowerShell」、MacやLinuxでは「ターミナル」を開きます。
ステップ3:Telnetコマンドを入力する
次の形式でTelnetコマンドを入力します。
telnet [ホスト名またはIPアドレス] [ポート番号(オプション)]

例えば、ホスト名がexample.com
で、デフォルトのポート番号(23)を使用する場合、以下のように入力します。
telnet example.com
ポート番号が異なる場合は、次のように指定します(ここではポート番号は2323
とします)。
telnet example.com 2323
一般的には最近のサーバはファイアウォールでTelnet接続を許可していない(TCPポート23を閉塞している)ため、このような接続は恐らく失敗します。やるのであれば自前のVPSやローカルの開発環境を利用するようにしましょう。
参考 ファイアウォールとは?
接続が成功すると、リモートサーバのログイン画面が表示されます。指示に従って、ユーザー名とパスワードを入力してログインします。ログインに成功すると、リモートサーバでコマンドを実行することが可能になります。あとは、いつも通り自分の端末でコマンドで様々な操作をするようなイメージで、サーバ側の操作を行うことができます。
操作が終わったら、「exit」または「logout」コマンドを入力して接続を終了します。
実はTelnetは汎用的なネットワークプロトコルクライアントとして機能します。つまり、Telnetサーバ(telnetd)だけでなく、FTP、SMTP、HTTPなどの他のプロトコルを使用しているサービスへの接続も可能です。これはTelnetがTCP/IP接続を確立し、テキストベースの通信を行うことが理由です。
参考 Telnetを使用したプロトコル接続の例
- FTP(File Transfer Protocol):
- FTPサーバに接続するためにTelnetを使用することが可能。
- 通常のFTPクライアントと同様に、Telnetを介してFTPコマンドを送信→ファイル転送やディレクトリを操作することが可能。
- SMTP(Simple Mail Transfer Protocol):
- SMTPサーバに対して、Telnetを使用して電子メールを送信することができます。
- これにより、メールの送信プロセスを手動で実行し、SMTPサーバの動作をテストすることが可能となる。
- HTTP(Hypertext Transfer Protocol):
- HTTPサーバ(Webサーバ)への接続にもTelnetを使用できます。
- Webサーバへのリクエストを手動で送信し、レスポンスを確認するためのデバッグツールとして利用されることがあります。
TelnetとSSHの違い
TelnetとSSHは、どちらもリモートコンピュータへの接続やコマンド実行を行うためのプロトコルですが、主にセキュリティの面で大きな違いがあります。以下に、それぞれの特徴と違いをわかりやすく解説します。
項目 | SSH | Telnet |
---|---|---|
セキュリティ | データが暗号化されるためセキュリティが向上する | 平文(暗号化せずにそのまま)で接続を行うためデータが傍受される可能性がある |
認証 | 公開鍵認証やパスワード認証をサポートしセキュリティを強化できる | パスワード認証のみをサポートしている |
ポート番号 | ポート番号22を使用する | ポート番号23を使用する |
プロトコル | TCPを使用する | TCPまたはUDPを使用できる |
機能 | ファイル転送やポート転送など様々な機能がある | 機能が限定されており基本的なコマンドライン操作のみが可能 |


まとめると、TelnetとSSHは同様の目的で使用されますが、セキュリティ面で大きな違いがあり、現代ではSSHが一般的に使用されるプロトコルということになります。
Telnetの歴史は、インターネットの黎明期に遡ります。このプロトコルは、初期のインターネット技術の発展において重要な役割を果たしました。
参考 Telnetの起源と発展
- 初期の開発 (1969年):
- Telnetは1969年に開発されたプロトコル。
- ARPANET(先進研究プロジェクト機関ネットワーク)の一環として誕生。これは、世界で最初の実装されたパケット交換ネットワークであり、インターネットの前身。
- 標準化 (1983年):
- Telnetプロトコルは、1983年にInternet Engineering Task Force(IETF)によって標準化。
- RFC 854として文書化され、リモートコンピュータへのログインおよびセッション管理のための基本的なフレームワークが定義される。
参考 Telnetの重要性と影響
- リモートコンピューティング:
- Telnetは、ユーザーが自分のコンピュータから離れた場所にあるコンピュータにリモートでアクセスし、コントロールできる能力を初めて提供しました。
→ネットワークベースのコンピューティングの基礎を築くのに役立ちました。
- Telnetは、ユーザーが自分のコンピュータから離れた場所にあるコンピュータにリモートでアクセスし、コントロールできる能力を初めて提供しました。
- 普及と利用:
- 1970年代から1990年代にかけて、Telnetが広く使われるようになりました。
- 大学、研究機関、企業などで、リモートでのシステムアクセスやネットワークリソースの利用に活用された。
参考 セキュリティ問題と衰退
- セキュリティの懸念:
- Telnetはデータを暗号化せずに送信するため、セキュリティ上のリスクが高いとされるように。
- 1990年代後半から2000年代初頭にかけて、セキュリティ意識の高まりと共に、Telnetの使用は徐々に減少。
- SSHへの移行:
- より安全な通信プロトコルであるSSH(Secure Shell)が登場し、徐々にTelnetが代替される。

Telnetはインターネットの初期の発展において重要な役割を果たし、リモートコンピューティングの基礎を築きましたが、セキュリティの懸念から現代ではあまり使用されていません。

ネットワーク学習の決定版(ネットワークエンジニアを目指すなら必見!)
↑ページ数が多く誰でも手軽に読める内容ではありませんが、ネットワークエンジニアであれば、ほぼ全員が一度は読んだことがある超・有料書籍。是非一度読破しておきたい1冊のご紹介です。
読者特典> 0から学ぶネットワーク入門