このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Telnetサーバーとクライアントパッケージのインストール(CentOS)
Telnetは、リモートホストに対してテキストベースの通信を行うためのプロトコルです。Telnetは歴史的に広く使用されてきましたが、セキュリティの観点からSSHに取って代わられています。それでも特定の環境やレガシーシステムでは、Telnetが依然として利用されています。ここでは、CentOS 7でTelnetサーバーとクライアントをインストールし、設定する方法について解説します。
systemdとは
systemdは、Linuxのシステムおよびサービスマネージャーとして広く採用されているツールです。systemdは、従来のSysVinitやUpstartに代わるもので、サービスの起動、停止、依存関係の管理を効率的に行います。Telnetサーバーのインストールにおいても、systemdが管理する.socket
ファイルと.service
ファイルを使用して、サービスの起動と接続待ち受けを設定します。
systemdを採用しているシステムでは、xinetdの代わりに.socket
ファイルを使用して、クライアントからのリクエストを待ち受けます。リクエストがあれば、対応する.service
ファイルを呼び出してサービスを起動します。
telnet-serverパッケージ
Telnetを使用するためには、telnet-server
パッケージをインストールする必要があります。telnet-server
パッケージは、Telnetプロトコルを使用してリモートホストにアクセスできるようにするためのソフトウェアです。CentOS 7では、yum
コマンドを使用してこのパッケージをインストールします。
telnet-serverパッケージのインストール(CentOS 7の場合)
Telnetサーバーをインストールするには、以下のコマンドを実行します。
- 「
su -
」コマンド - 「
yum -y install telnet-server
」コマンド
su -
rootユーザーに切り替えます。Telnetサーバーのインストールにはroot権限が必要です。yum -y install telnet-server
CentOSのパッケージマネージャーであるyum
を使用してtelnet-server
パッケージをインストールします。-y
オプションを指定すると、すべてのプロンプトに自動的に「yes」と答えてインストールが進みます。
[user01@localhost ~]$ su -
パスワード:
最終ログイン: 2024/08/24 (土) 17:19:55 JST日時 :0
[root@localhost ~]# yum -y install telnet-server
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
依存性の解決をしています
(省略)
インストール:
telnet-server.x86_64 1:0.17-66.el7
完了しました!
インストールが完了すると、/lib/systemd/system
ディレクトリにtelnet.socket
ファイルとtelnet@.service
ファイルがインストールされます。これらのファイルは、Telnetサービスを起動するために使用されます。
/lib/systemd/system/telnet.socketファイルの内容
telnet.socket
ファイルは、クライアントからの接続要求を待ち受けるための設定ファイルです。以下にその内容と設定項目を解説します。
telnet.socketファイルの内容
cat /lib/systemd/system/telnet.socket
[root@localhost ~]# cat /lib/systemd/system/telnet.socket
[Unit]
Description=Telnet Server Activation Socket
Documentation=man:telnetd(8)
[Socket]
ListenStream=23
Accept=true
[Install]
WantedBy=sockets.target
設定項目と説明
項目 | 説明 |
---|---|
Description | サービスの説明。Telnet Server Activation Socket と記述されます。 |
ListenStream | 待ち受けるポート番号を指定します。Telnetでは標準的にポート23を使用。 |
Accept | 接続ごとに新しいサービスインスタンスを起動する場合はtrue 。 |
WantedBy | このソケットが起動されるターゲットを指定します。sockets.target 。 |
/lib/systemd/system/telnet@.serviceファイルの内容
telnet@.service
ファイルは、Telnetサービスの起動を管理するための設定ファイルです。以下にその内容と設定項目の説明を示します。
telnet@.serviceファイルの例
cat /lib/systemd/system/telnet@.service
[root@localhost ~]# cat /lib/systemd/system/telnet@.service
[Unit]
Description=Telnet Server
After=local-fs.target
[Service]
ExecStart=-/usr/sbin/in.telnetd
StandardInput=socket
設定項目と説明
項目 | 説明 |
---|---|
Description | サービスの説明。Telnet Server と記述されます。 |
ExecStart | Telnetサービスを起動するためのコマンドを指定します。 |
StandardInput | ソケットからの入力を標準入力として使用する設定です。 |
telnetクライアントのインストール(CentOS 7の場合)
CentOS 7でtelnet
コマンドを使用するためには、telnet
クライアントをインストールする必要があります。デフォルトではtelnet
クライアントはインストールされていないため、telnet localhost
のようなコマンドを実行しようとすると、「コマンドが見つかりませんでした…」というエラーメッセージが表示されます。
以下のコマンドを実行します。
- 「
su -
」コマンド - 「
yum install telnet -y
」コマンド
[user01@localhost ~]$ su -
パスワード:
最終ログイン: 2024/08/26 (月) 18:01:41 JST日時 pts/0
[root@localhost ~]# yum install telnet -y
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
(省略)
Running transaction
インストール中 : 1:telnet-0.17-66.el7.x86_64 1/1
検証中 : 1:telnet-0.17-66.el7.x86_64 1/1
インストール:
telnet.x86_64 1:0.17-66.el7
完了しました!
su -
telnet
クライアントのインストールには管理者権限が必要です。rootユーザーに切り替えるか、、sudo権限を持つユーザーで作業を行います。yum install telnet -y
CentOS 7では、yum
コマンドを使用してパッケージをインストールします。以下のコマンドでtelnet
クライアントをインストールします。ここでのyum
はCentOSのパッケージ管理ツールで、install
はパッケージをインストールするためのサブコマンドです。-y
オプションは、インストール中のすべての確認プロンプトに自動的に「yes」と答えるため、手動で確認する手間を省くことができます。
telnet接続と操作
Telnetサーバーのインストールが完了したら、以下のコマンドでサービスを起動します。
・「systemctl start telnet.socket
」コマンドを実行します。
このコマンドは、telnet.socket
を起動し、クライアントからの接続を待ち受けるように設定します。その後、「telnet localhost
」コマンドでTelnetサーバーに接続します。
[root@localhost ~]# systemctl start telnet.socket
・「telnet localhost
」コマンドを実行します。
このコマンドにより、ローカルホストに接続し、Telnetセッションを開始できます。
[root@localhost ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-1160.119.1.el7.x86_64 on an x86_64
localhost login: user01
Password:
Last login: Mon Aug 26 18:01:11 on :0
[user01@localhost ~]$
まとめ
Telnetサーバーのインストールと設定は、古いプロトコルを利用する場合に必要となる手順です。systemdを使用して、効率的にTelnetサービスを管理し、必要な場合にのみサービスを起動できるように設定することが重要です。