Telnet · 2 min read · Oct 26, 2025

Ubuntu 24.04 LTSにTelnetをインストールして使用する方法

Telnetは、TCP/IPネットワーク用の端末エミュレーションプログラムで、リモートシステムにログインすることで、インターネットまたはローカルネットワーク上の別のコンピュータにアクセスすることを可能にします。Telnetは、Transmission Control Protocolのポート23に接続するクライアント-サーバープロトコルです。また、Telnetを使用してリモートシステムのオープンポートを確認することもできます。

このチュートリアルでは、Ubuntu 24.04 LTSサーバーにTelnetサーバーとクライアントをインストールして使用する方法を学びます。同じ手順は、Ubuntu 22.04やUbuntu 20.04などの古いUbuntuバージョンでも機能します。

警告:Telnetは暗号化されておらず、したがって安全ではないプロトコルです。このガイドは教育目的のみであり、システムでTelnetサーバーを使用することを推奨するものではありません。このガイドでは、この古代のサーバー管理プロトコルについてもっと学びたい場合や、メールサーバーをテストするためにTelnetクライアントを使用したい場合に、Telnetクライアントとサーバーをインストールして使用する方法を示します。今日のサーバーでTelnet(サーバー)を使用することは推奨しません。特にインターネット経由で使用する場合は、Telnetの代わりにSSHを使用してください。Telnetクライアントの使用は別のことです。たとえば、Telnetクライアントは、以下に示すように、メールまたはWebサーバーをテストするための貴重なツールです。

要件

  • Ubuntu 24.04がインストールされたサーバー。
  • sudo権限を持つ非ルートユーザー。
  • サーバーに設定された静的IPアドレス(例:192.168.0.100)。

Telnetクライアントのインストール

Telnetサーバーパッケージは、Ubuntu 24.04リポジトリにあります。次のコマンドを実行するだけでインストールできます:

sudo apt install telnet -y

Telnetサーバーのインストール

Telnetログインを提供したい場合にのみTelnetサーバーが必要です。他のサービスをテストするためにTelnetコマンドを使用したい場合は、このステップをスキップしてください。Telnetサーバーパッケージは、Ubuntu 24.04リポジトリにあります。次のコマンドを実行するだけでインストールできます:

sudo apt install telnetd -y

次に、エディタでファイル/etc/inetd.confを開きます:

sudo nano /etc/inetd.conf

ファイルの最後に次の行を追加します:

telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/telnetd

inetd.conf構成ファイルを保存し、inetdサービスを再起動します:

sudo systemctl restart inetd

インストールが完了したら、次のコマンドを使用してTelnetサービスのステータスを確認できます:

sudo systemctl status inetd

出力:

root@server1:~# sudo systemctl status inetd
? inetd.service - Internet superserver
     Loaded: loaded (/usr/lib/systemd/system/inetd.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-05-29 11:53:38 UTC; 16min ago
       Docs: man:inetd(8)
   Main PID: 132955 (inetd)
      Tasks: 1 (limit: 4557)
     Memory: 552.0K (peak: 808.0K)
        CPU: 84ms
     CGroup: /system.slice/inetd.service
             ??132955 /usr/sbin/inetd

May 29 11:53:38 server1 systemd[1]: inetd.service: Scheduled restart job, restart counter is at 1.
May 29 11:53:38 server1 systemd[1]: Starting inetd.service - Internet superserver...
May 29 11:53:38 server1 systemd[1]: Started inetd.service - Internet superserver.

リモートシステムからTelnet接続をテストする

Telnetサーバーは現在インストールされ、ポート23でリッスンしています。リモートシステムからTelnetサーバーに接続する時間です。

別のUbuntuシステムにログインし、次のコマンドを実行します:

telnet 192.168.0.100

ユーザー名とパスワードの入力を求められます。認証が成功すると、次の出力が表示されます:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

Linux 6.8.0-31-generic (server1.example.com) (pts/1)

server1 login: howtoforge
Password:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
You have new mail.

これで、Telnetを使用してTelnetサーバー上で任意のコマンドを実行できます。

Telnetを使用してオープンポートをテストする

Telnetを使用して、リモートシステムのオープンポートをテストすることもできます。

たとえば、リモートシステム(IP 192.168.0.100)のポート80をテストするには、次のコマンドを実行します:

telnet 192.168.0.100 80

ポート80がオープンしている場合、次の出力が表示されます:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

ポート80がブロックされているか、Telnetサービスが実行されていない場合、次の出力が表示されます:

Trying 192.168.0.100...
telnet: Unable to connect to remote host: Connection refused

Telnetコマンドを使用してメールサーバーをテストする

Telnetコマンドは、メールサーバーをテストするのにも非常に便利です。Telnetを使用してメールサーバーに接続します。

telnet 192.168.0.100 25

接続が成功すると、他のサーバーから次のような応答が表示されます:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)

次に、ehloコマンドを使用してサーバーに応答し、送信者のドメイン名を続けて入力します。例:

ehlo mydomain.tld

メールサーバーは、サポートしているメソッドを表示します。

250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING

接続を終了するには、quitコマンドを入力します。

quit

結果は次のようになります:

221 2.0.0 Bye
Connection closed by foreign host.

完全なコマンドシーケンスは次のとおりです:

user@server1:~# *telnet 192.168.0.100 25*
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
*ehlo mydomain.tld*
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
*quit*
221 2.0.0 Bye
Connection closed by foreign host.
user@server1:~#

このテスト手順は、メールサービス(ポート25)がインターネットサービスプロバイダーやデータセンターによってブロックされているかどうかを確認するのに役立ちます。

よくある質問

Telnetとは何ですか?

Telnetは、仮想端末接続を使用して双方向のインタラクティブなテキスト指向の通信機能を提供するネットワークプロトコルです。リモートサーバーにアクセスするために一般的に使用されます。

Telnetは機密データの転送に安全ですか?

いいえ、Telnetは平文でデータを送信するため、機密データの転送には安全ではありません。安全な通信にはSSH(Secure Shell)が推奨されます。

UbuntuでTelnetを使用するにはどうすればよいですか?

Telnetを使用するには、ターミナルを開いて次のように入力します:

telnet [hostname] [port]

[hostname]を接続したいサーバーのIPアドレスまたはドメインに、[port]をポート番号に置き換えます。

すべてのバージョンのUbuntuにTelnetをインストールできますか?

すべての現在のバージョンのUbuntuにTelnetをインストールできます。ただし、新しいソフトウェアをインストールする前に、システムが最新であることを確認してください。

Telnetをインストールしようとするとエラーメッセージが表示されるのはなぜですか?

エラーメッセージが表示される場合、システムが更新されていないか、Telnetパッケージがリポジトリにないなど、いくつかの理由が考えられます。システムが最新であり、アクティブなインターネット接続があることを確認してください。

UbuntuからTelnetをアンインストールするにはどうすればよいですか?

Telnetをアンインストールするには、ターミナルを開いて次のように入力します。

sudo apt-get remove telnet

UbuntuにTelnetの代替はありますか?

SSHはTelnetの人気のある代替手段です。SSHは暗号化された接続を提供し、より安全です。ターミナルでsudo apt-get install openssh-clientと入力してSSHをインストールします。

UbuntuからWindowsサーバーにTelnetを使用して接続できますか?

はい、WindowsサーバーでTelnetサービスが有効になっている場合、Telnetを使用してWindowsサーバーに接続できます。

UbuntuでTelnetを使用してタスクを自動化することは可能ですか?

Telnetスクリプトを使用してタスクを自動化することは技術的には可能ですが、セキュリティリスクがあるため推奨されません。自動化にはSSHなどのより安全な方法を使用することを検討してください。

Telnetを使用してメールサーバーをテストする目的は何ですか?

Telnetを使用してメールサーバーをテストすることで、手動でメールメッセージを送信し、オープンSMTPポートを確認し、メールサーバーの動作に関する問題を診断できます。これは、メール配信の問題をトラブルシューティングするのに役立ちます。

メールサーバーへのTelnet接続が失敗した場合はどうすればよいですか?

接続が失敗した場合、メールサーバーのアドレスとポート番号が正しいか確認してください。また、ネットワークがポート25へのアウトバウンド接続を許可していることを確認してください。一部のISPは、セキュリティ上の理由からこのポートをブロックしています。

Telnetを使用してメールを送信するにはどうすればよいですか?

Telnetを介してSMTPサーバーに接続した後、次のコマンドを順番に使用します:

HELO [your_domain.com]
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA

次に、メッセージを入力します。終了するには、新しい行に単一のピリオド(.)を入力してEnterを押します。 最後に、QUITコマンドを使用してセッションを終了します。

Telnetを使用してメールサーバーをテストする際に注意すべき一般的なエラーは何ですか?

一般的なエラーには、接続タイムアウト、拒否エラー、またはSMTPサーバーからのエラーコード(550(ユーザーが見つからない)や451(一時的なローカル問題)など)が含まれます。これらは、サーバーへのアクセスやメール配信に関する問題を示しています。

Telnetを使用して安全なSMTPポートをテストすることは可能ですか?

Telnetは、暗号化された接続(安全なSMTP用のポート465や587など)をネイティブにサポートしていません。これらをテストするには、OpenSSLなどのツールがより適切です。

Telnetを使用してIMAPまたはPOP3メールサーバーポートをテストできますか?

はい、Telnetを使用してIMAP(ポート143または993)またはPOP3(ポート110または995)サーバーに接続できます。ただし、コマンドや対話はSMTPとは異なることに注意してください。

メールサーバーをテストするためにTelnetを使用するには、Ubuntuで特別な権限が必要ですか?

Telnetを使用するために特別な権限は必要ありません。ただし、ネットワークアクセスと、システムにTelnetがインストールされていない場合はインストールする権利が必要です。

Telnetセッション中にメールサーバーからの応答をどのように解釈しますか?

SMTP応答は通常、数値コードとテキストメッセージで構成されています。2で始まるコードは成功を示し、4は一時的な失敗、5は永久的な失敗を示します。テキストメッセージは、応答の詳細を提供します。

Telnetを使用してメールサーバーをテストすることは安全な方法ですか?

Telnetを使用したテストは暗号化されておらず、機密情報を送信するには安全ではありません。一般的には、制御された環境でのトラブルシューティングに使用されます。安全な通信にはSSHなどのプロトコルを使用してください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。