このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Ubuntu24.04LTSへのTelnetのインストール
Telnetとは
Telnetは、リモートのコンピュータに接続し、コマンドラインベースの操作を行うための古いプロトコルです。Telnetでは、クライアントとサーバ間の通信が暗号化されないため、セキュリティの観点から近年では推奨されませんが、依然として内部ネットワークや限定的な環境で使用されることがあります。
Ubuntu 24.04 LTSにおけるTelnetのインストール手順
1.Telnetパッケージのインストール
・「sudo apt install telnetd
」コマンドを実行します。
このコマンドにより、Telnetデーモン(telnetd
)がインストールされます。途中、パスワードを入力し、続行しますかの問いには「y」と入力します。
user01@ubuntu:~$ sudo apt install telnetd
[sudo] user01 のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
inetutils-inetd inetutils-telnetd tcpd
以下のパッケージが新たにインストールされます:
inetutils-inetd inetutils-telnetd tcpd telnetd
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 14 個。
134 kB のアーカイブを取得する必要があります。
この操作後に追加で 503 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
(省略)
2.inetdの起動確認
Telnetサービスはinetd
によって管理されるため、inetd
が動作しているか確認します。
・「systemctl status inetd
」コマンドを実行します。
「Active: inactive(dead)」 の状態でinetdが動作していないことが分ります。確認ができたら「q」キーを押します。
user01@ubuntu:~$ systemctl status inetd
○ inetutils-inetd.service - GNU Network Utilities internet superserver
Loaded: loaded (/usr/lib/systemd/system/inetutils-inetd.service; enabled; preset: enabled)
Active: inactive (dead) (Result: exec-condition) since Sun 2024-09-22 02:38:36 JST; 58s ago
Condition: start condition unmet at Sun 2024-09-22 02:38:36 JST; 58s ago
Docs: man:inetutils-inetd(8)
(省略)
3./etc/inetd.conf
の設定確認
Telnetを有効にするために、設定ファイル/etc/inetd.conf
を確認します。
・「cat /etc/inetd.conf
」コマンドを実行します。
inetdが受け付けるサービスを設定するのが /etc/inetd.conf
になる。24行目が telnet を待ち受けの設定となります。telnetを待ち受けるには、該当行をコメントを削除します。具体的には「#<off>#」の部分を削除すれば inetdでのtelnetを待ち受けるようになります。
user01@ubuntu:~$ cat /etc/inetd.conf
# /etc/inetd.conf: see inetd(8) for further informations.
#
# Internet superserver configuration database.
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it is not touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8).
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#discard stream tcp6 nowait root internal
#discard dgram udp6 wait root internal
#daytime stream tcp6 nowait root internal
#time stream tcp6 nowait root internal
#:STANDARD: These are standard services.
#<off># telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd
#:BSD: Shell, login, exec and talk are BSD protocols.
(省略)
4.設定ファイルの編集
設定ファイルでTelnetを有効化するために、該当行を編集します。
・「sudo nano /etc/inetd.conf
」コマンドを実行します。
nanoエディタで編集します。「#<off>#」の部分を削除して、「Ctrl」+「s」で保存し、「Ctrl」+「x」で終了します。
# /etc/inetd.conf: see inetd(8) for further informations.
#
# Internet superserver configuration database.
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it is not touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8).
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#discard stream tcp6 nowait root internal
#discard dgram udp6 wait root internal
#daytime stream tcp6 nowait root internal
#time stream tcp6 nowait root internal
#:STANDARD: These are standard services.
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd
#:BSD: Shell, login, exec and talk are BSD protocols.
(省略)
5.inetdの再起動
設定変更後、inetd
を再起動して反映させます。
・「sudo systemctl restart inetd
」コマンドを実行します。
user01@ubuntu:~$ sudo systemctl restart inetd
再起動したら、inetd
が動作しているか確認します。
・「systemctl status inetd
」コマンドを実行します。
「Active: active」 の状態でinetdが動作していないことが分ります。確認ができたら「q」キーを押します。
user01@ubuntu:~$ sudo systemctl status inetd
● inetutils-inetd.service - GNU Network Utilities internet superserver
Loaded: loaded (/usr/lib/systemd/system/inetutils-inetd.service; enabled; >
Active: active (running) since Sun 2024-09-22 13:50:53 JST; 53s ago
Docs: man:inetutils-inetd(8)
(省略)
6.IPアドレスの確認
Telnetで接続するためのIPアドレスを確認します。
・「ip addr show
」コマンドを実行します。
user01@ubuntu:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:b3:38:11 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 86264sec preferred_lft 86264sec
inet6 fd00::c932:393e:f690:2a08/64 scope global temporary dynamic
valid_lft 86265sec preferred_lft 14265sec
inet6 fd00::a00:27ff:feb3:3811/64 scope global dynamic mngtmpaddr
valid_lft 86265sec preferred_lft 14265sec
inet6 fe80::a00:27ff:feb3:3811/64 scope link
valid_lft forever preferred_lft forever
(省略)
7.Telnetでの接続確認
Telnetを使用してサーバーに接続します。
【構文】telnet [IPアドレス]
・「telnet 10.0.2.15
」コマンドを実行します。ユーザー名を入力し、パスワードを入力してログインします。
user01@ubuntu:~$ telnet 10.0.2.15
Trying 10.0.2.15...
Connected to 10.0.2.15.
Escape character is '^]'.
Linux 6.8.0-45-generic (ubuntu) (pts/1)
ubuntu login: user01
パスワード:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-45-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
Expanded Security Maintenance for Applicationsが無効化されています。
(省略)
8.Telnetセッションの終了
セッションを終了するには、以下のコマンドを使用します。
・「exit
」コマンドを実行します。
user01@ubuntu:~$ exit
ログアウト
Connection closed by foreign host
これで、Ubuntu 24.04 LTSでのTelnetインストールと設定が完了し、リモートでの接続が可能となります。