Linuxを使ってネットワークの動作確認やポートのテストを行いたいとき、telnetコマンドは非常に便利なツールです。
しかしLinuxでは多くのディストリビューションでtelnetがデフォルトでインストールされていないため、使いたいときに「コマンドが見つからない」というエラーに遭遇することがあります。
本記事では、LinuxでtelnetをインストールしてUbuntu・CentOS・Debian・Red Hatなどの環境でコマンドを実行する方法を、パッケージ管理コマンドとともにわかりやすく解説していきます。
ネットワーク管理・サーバー運用・学習目的など様々な場面で役立つ内容ですので、ぜひ参考にしてください。
LinuxにtelnetをインストールしてコマンドをLinuxで使えるようにする方法
それではまず、LinuxにtelnetクライアントをインストールしてLinux環境で使えるようにする方法について解説していきます。
Linuxのtelnetインストールはディストリビューションごとに使用するパッケージ管理コマンドが異なりますが、いずれもコマンド一行で簡単にインストールできます。
UbuntuへのtelnetクライアントのインストールとUbuntu操作
UbuntuおよびDebian系のLinuxディストリビューションでは、aptパッケージマネージャーを使ってtelnetをインストールします。
パッケージリストの更新:sudo apt update
telnetのインストール:sudo apt install telnet
インストールの確認:telnet –version または which telnet
バージョン情報が表示されればインストール成功です。
Ubuntuでtelnetを使う際、サーバー側(telnetd)とクライアント側(telnet)でパッケージが異なる点に注意が必要です。
ポート疎通確認や接続テストを行う場合はクライアントパッケージ(telnet)のみで十分であり、telnetサーバーとして機能させたい場合は別途「telnetd」パッケージをインストールする必要があります。
CentOS・RHEL・Fedoraへのインストール
Red Hat系のLinuxディストリビューション(CentOS・RHEL・Fedora)ではyumまたはdnfコマンドを使います。
CentOS 7・RHEL 7の場合:sudo yum install telnet
CentOS 8・RHEL 8・Fedoraの場合:sudo dnf install telnet
インストール確認:rpm -q telnet
インストール後は特別な設定なしにtelnetコマンドが使用できるようになるため、すぐにポート疎通確認などに活用できます。
telnetがインストールされているか確認する方法
telnetがすでにインストールされているかどうかを確認するには、以下のコマンドを実行します。
which telnet → telnetの実行ファイルのパスが表示されればインストール済み
telnet –version → バージョン情報が表示されればインストール済み
コマンドが見つからない場合は「command not found」と表示されます。
Linuxではtelnetが最初からインストールされていないことが多いため、使いたいときにまずこの確認を行うことが重要です。
Linuxでのtelnetコマンドの基本的な使い方
続いては、Linuxでのtelnetコマンドの基本的な使い方を確認していきます。
インストールが完了したら、ターミナルからtelnetコマンドを使ってネットワーク接続テストを行ってみましょう。
Linuxでのtelnet接続とポート疎通確認
Linuxのターミナルでtelnetを使う基本的なコマンド例を確認します。
基本接続:telnet [ホスト名またはIPアドレス]
ポート指定:telnet [ホスト名またはIPアドレス] [ポート番号]
例1:telnet 192.168.0.1 22 → SSHポートへの疎通確認
例2:telnet webserver.local 80 → Webサーバーの80番ポート確認
例3:telnet mailserver.local 25 → SMTPポートの確認
接続が成功した場合はサーバーからのバナー情報や応答が表示されます。
接続に失敗した場合は「Connection refused」(ポートが閉じている)や「No route to host」(ルーティング問題)などのエラーメッセージが表示され、問題の切り分けに役立てることができます。
Linuxでのtelnetセッション終了方法
Linuxでのtelnetセッション終了方法は、Windowsとほぼ同様です。
「Ctrl + ]」でtelnet内部コマンドモードに入り、「quit」と入力してEnterを押すことで接続を切断できます。
リモートシェルにログインしている場合は「exit」または「logout」コマンドでシェルを終了させる方法もあり、どちらの方法でもtelnetセッションを終了することができるでしょう。
telnetの出力をファイルに保存する方法
Linuxのtelnetコマンドでは、接続ログや通信内容をファイルに保存することができます。
Linuxリダイレクトを使う場合:telnet ホスト名 ポート > 出力ファイル.txt 2>&1
telnetの-nオプションを使う場合:telnet -n /tmp/telnet_log.txt ホスト名
通信ログの保存は、ネットワークトラブルの記録や証跡管理の観点から有用な機能です。
Linuxでのtelnetの実践的な活用方法
続いては、Linuxでのtelnetの実践的な活用方法を確認していきます。
Linuxサーバーの管理やネットワークのトラブルシューティングにおいて、telnetを効果的に使う場面を具体的に見ていきましょう。
Webサーバーの動作確認
LinuxのWebサーバー(Apache・Nginx)が正常に動作しているかをtelnetで確認する方法は、ネットワークエンジニアにとって基本的なスキルの一つです。
ポート80または8080にtelnetで接続してGETリクエストを手動で送信することで、Webサーバーが正常にHTTPレスポンスを返すかどうかを即座に確認できます。
この方法はcurlコマンドが使えない環境や、より低レベルのプロトコル動作を確認したいときに特に有効でしょう。
メールサーバー・データベースポートの確認
Postfixなどのメールサーバーが正常に動作しているか、MySQLやPostgreSQLのポートが開いているかなどの確認にもtelnetが活用されます。
各サービスのポートにtelnetで接続してバナーが表示されるかどうかを確認するだけで、サービスの起動状態とポートの開放状態を同時に把握できます。
システム管理の現場では、このようなtelnetによるサービス状態確認が日常的に行われているでしょう。
telnetの代替ツール:nc(netcat)の紹介
Linuxではtelnetの代替として「nc(netcat)」コマンドも広く使われています。
ncはtelnetより軽量でポート疎通確認・スキャン・データ転送など多機能であり、スクリプトとの相性も優れています。
ncによるポート疎通確認:nc -zv [ホスト名] [ポート番号]
例:nc -zv 192.168.1.1 80 → 接続成否を表示
-z:ポート確認のみ(データ送信なし)、-v:詳細出力
telnetとncを用途に応じて使い分けることで、Linuxでのネットワーク管理をより効率的に行えるでしょう。
まとめ
本記事では、LinuxへのtelnetのインストールからUbuntu・CentOS・Fedoraでの実行方法、実践的な活用シーンまで詳しく解説してきました。
Linuxでのtelnetはaptまたはdnf/yumコマンドで簡単にインストールでき、インストール後すぐにポート疎通確認やプロトコルテストに活用できます。
telnetはセキュリティ上の制約から本番環境のリモートログインには適しませんが、Linuxのネットワーク管理やトラブルシューティングにおけるポート確認ツールとしては今も有用な存在です。
目的に応じてtelnetとncなどの代替ツールを組み合わせながら、効果的なLinuxネットワーク管理を実践してみてください。