telnet コマンドは、TCP/IPを用いてリモートホストへ接続し、指定したポートで対話的な通信を行うためのツールです。
ネットワークの疎通確認やサービス動作チェックに利用されます。
構文(Syntax)
telnet HOST [PORT]
HOST: 接続先ホスト名またはIPアドレスPORT: 接続先ポート番号(省略時は23番ポート)
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-a | 自動ログインを試みる | telnet -a example.com |
-l USER | ログインユーザーを指定 | telnet -l user example.com |
-n FILE | デバッグログをファイルに保存 | telnet -n log.txt example.com 80 |
-c | 設定ファイル .telnetrc を無視して実行 | telnet -c 192.168.1.10 |
-d | デバッグ情報を表示 | telnet -d example.com |
-E | エスケープ文字を無効化 | telnet -E example.com |
※オプションは環境(GNU/Linux, BSD系, BusyBoxなど)により異なる場合があります。
実行例
HTTPサーバーの疎通確認
telnet example.com 80
Trying 93.184.216.34...
Connected to example.com.
Escape character is '^]'.
SMTPサーバーに接続して動作確認
telnet mail.example.com 25
220 mail.example.com ESMTP Postfix
ポートが閉じている場合のエラー
telnet example.com 9999
Trying 93.184.216.34...
telnet: Unable to connect to remote host: Connection refused
ログファイルを残して接続
telnet -n telnet.log example.com 22
デバッグモードで接続
telnet -d example.com 80
関連コマンド
ssh: セキュアなリモート接続を提供するコマンド(telnetの代替として推奨)。nc(netcat): ネットワーク接続のテストやデータ送信に便利なツール。ping: ネットワークの疎通確認を行う。curl/wget: HTTP/HTTPSサービスの動作確認やデータ取得に使用。
備考
telnetは暗号化を行わないため、認証情報が平文で流れます。セキュリティ上の理由から、リモートログインには現在はsshの利用が推奨されています。- 一般ユーザーでも利用できますが、接続先によっては管理者権限(sudo)が必要になる場合があります。
- 接続テストの用途で使うケースがほとんどであり、通常のリモート操作には適しません。
- 一部のLinuxディストリビューションではデフォルトでインストールされていないため、
telnetパッケージを別途導入する必要があります。
参考
- manページ: man7.org – telnet(1)
- GNU Inetutils: https://www.gnu.org/software/inetutils/
- OpenBSD telnet: https://man.openbsd.org/telnet

コメント