概要
実務にて、telnet経由でrootユーザがログイン可能となるように設定する必要が生じたため、 telnetのインストールからログイン確認までの手順を記録しときます。
(通常こんなことしてはいけない)
1.テスト環境
VMwareにてCentOS7を最小構成でインストール済み。SSH接続できる状態である。
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2.準備
2-1. telnetクライアントおよびサーバの確認
[root@localhost ~]# yum list installed | grep telnet
[root@localhost ~]#
ヒットなし。インストールされていないことを確認。
2-2. telnetクライアントおよびサーバのインストール
[root@localhost ~]# yum -y install telnet telnet-server
2-3. 自動起動の有効化
必要な場合のみ実施。
[root@localhost ~]# systemctl enable telnet.socket
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.
自動起動の確認。
[root@localhost ~]# systemctl list-unit-files | grep telnet.socket
telnet.socket enabled
2-4. Firewallの設定
source addressのみ、実行環境に合わせて指定すること。
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-rich-rule "rule family="ipv4" source address="192.168.11.0/24" service name="telnet" log prefix="telnet" level="info" limit value="1/m" accept"
success
設定を反映する。
[root@localhost ~]# firewall-cmd --reload
success
2-5. telnetの起動
[root@localhost ~]# systemctl start telnet.socket
3. telnet経由のrootログイン設定
3-1. rootユーザでログインできないことを確認
Kernel 3.10.0-957.el7.x86_64 on an x86_64
localhost login: root
Password:
Login incorrect
localhost login:
3-2. /etc/securettyの編集
securettyは、rootログインを許可する端末を指定するファイルである。
同時接続させたい数だけptsを追記する。
設定はファイル編集のみで反映される。
/etc/securetty
pts/0
pts/1
pts/2
3-3. rootユーザのログイン確認
現在使用中の端末はttyコマンドで確認できる。
Kernel 3.10.0-957.el7.x86_64 on an x86_64
localhost login: root
Password:
Last login: Tue Oct 8 22:52:38 from ::ffff:192.168.11.2
[root@localhost ~]# tty
/dev/pts/0
以上。
備考
pts(疑似端末)は自動で作成される。
試しにTeraTermを3つ起動して、SSHで接続したら3つ(0~2)まで自動生成された。
#ls /dev/pts
0 1 2 ptmx