# Telnet安装与配置
**本实验基于我在cnaaa.com购买的云服务器CentOS 7.9 系统进行操作演示。**
```
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
```
### 1 、查询telnet相关服务组件是否已安装
> 查询telnet-server、telnet-client、xinetd等服务组件是否安装。
>
> **查询得知,xinetd、telnet和telnet-server未安装。**
```
[root@master ~]# rpm -qa | grep telnet
[root@master ~]# rpm -qa | grep xinetd
[root@master ~]# yum list | grep telnet
telnet.x86_64 1:0.17-66.el7 updates
telnet-server.x86_64 1:0.17-66.el7 updates
[root@master ~]# yum list | grep xinetd
xinetd.x86_64 2:2.3.15-14.el7 base
```
> **xinetd 是 Linux 系统的超级守护进程,长期驻存于后台,并监听来自网络的请求,从而启动对应的服务。而 telnet 正是 xinetd 管辖的服务之一。**
### 2、查询YUM源中是否提供telnet相关组件
> 查看一下所配置的YUM源内是否提供了telnet相关的安装包
>
> **yum provides telnet telnet-server xinetd**
```
[root@master ~]# yum list | grep telnet && yum list | grep xinetd
telnet.x86_64 1:0.17-66.el7 updates
telnet-server.x86_64 1:0.17-66.el7 updates
xinetd.x86_64 2:2.3.15-14.el7 base
[root@master ~]#
```
### 3、安装telnet相关服务组件
> 包含telnet、telnet-server、xinetd服务组件
>
> **yum install -y xinetd telnet telnet-server**
```
# 执行此命令进行安装
yum install -y xinetd telnet telnet-server
```
### 4、查询是否安装完成
> **yum list | grep telnet && yum list | grep xinetd**
```
# 执行此命令查询,带@符号的表示已安装。
[root@master ~]# yum list | grep telnet && yum list | grep xinetd
telnet.x86_64 1:0.17-66.el7 @updates
telnet-server.x86_64 1:0.17-66.el7 @updates
xinetd.x86_64 2:2.3.15-14.el7 @base
# 参考链接:https://www.cnblogs.com/gengbo/p/15913541.html
# 查询所有已安装的软件信息
[root@master ~]# rpm -qa telnet telnet-server xinetd
xinetd-2.3.15-14.el7.x86_64
telnet-server-0.17-66.el7.x86_64
telnet-0.17-66.el7.x86_64
# 显示详细信息
[root@master ~]# rpm -qi telnet-server
Name : telnet-server
Epoch : 1
Version : 0.17
Release : 66.el7
Architecture: x86_64
Install Date: Tue 22 Feb 2022 11:34:33 AM CST
Group : System Environment/Daemons
Size : 56361
License : BSD
Signature : RSA/SHA256, Wed 18 Nov 2020 10:20:43 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : telnet-0.17-66.el7.src.rpm
Build Date : Tue 17 Nov 2020 12:44:28 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html
Summary : The server program for the Telnet remote login protocol
Description :
Telnet is a popular protocol for logging into remote systems over the
Internet. The package includes a daemon that supports Telnet remote
logins into the host machine. The daemon is disabled by default.
You may enable the daemon by editing /etc/xinetd.d/telnet
# 显示所有文件列表
[root@master ~]# rpm -ql telnet telnet-server xinetd
/usr/bin/telnet
/usr/share/doc/telnet-0.17
/usr/share/doc/telnet-0.17/README
/usr/share/man/man1/telnet.1.gz
/usr/lib/systemd/system/telnet.socket
/usr/lib/systemd/system/telnet@.service
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz
/etc/sysconfig/xinetd
/etc/xinetd.conf
/etc/xinetd.d/chargen-dgram
/etc/xinetd.d/chargen-stream
/etc/xinetd.d/daytime-dgram
/etc/xinetd.d/daytime-stream
/etc/xinetd.d/discard-dgram
/etc/xinetd.d/discard-stream
/etc/xinetd.d/echo-dgram
/etc/xinetd.d/echo-stream
/etc/xinetd.d/tcpmux-server
/etc/xinetd.d/time-dgram
/etc/xinetd.d/time-stream
/usr/lib/systemd/system/xinetd.service
/usr/sbin/xinetd
/usr/share/doc/xinetd-2.3.15
/usr/share/doc/xinetd-2.3.15/CHANGELOG
/usr/share/doc/xinetd-2.3.15/COPYRIGHT
/usr/share/doc/xinetd-2.3.15/README
/usr/share/doc/xinetd-2.3.15/empty.conf
/usr/share/doc/xinetd-2.3.15/sample.conf
/usr/share/man/man5/xinetd.conf.5.gz
/usr/share/man/man5/xinetd.log.5.gz
/usr/share/man/man8/xinetd.8.gz
```
### 5、启动telnet相关服务
> **执行命令,开启服务,并设置开机自启动。**
```
systemctl start telnet.socket xinetd
systemctl enable telnet.socket xinetd
systemctl status telnet.socket xinetd
```
### 6、查看服务监听端口
```
[root@master ~]# netstat -tnl |grep 23
tcp6 0 0 :::23 :::* LISTEN
[root@master ~]# ss -tunpl | grep 23
tcp LISTEN 0 128 [::]:23 [::]:* users:(("systemd",pid=1,fd=33))
[root@master ~]#
```
## Telnet远程连接测试
### 1、创建用户xybdiy
```
[root@master ~]# useradd xybdiy
[root@master ~]# passwd xybdiy
Changing password for user xybdiy.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
```
### 2、使用xybdiy用户telnet登录
```
telnet 192.168.200.11
Kernel 3.10.0-1160.53.1.el7.x86_64 on an x86_64
master login: xybdiy
Password:
[xybdiy@master ~]$ su -
Password:
Last login: Tue Feb 22 12:39:35 CST 2022 on pts/1
Last failed login: Tue Feb 22 12:52:02 CST 2022 on pts/2
There was 1 failed login attempt since the last successful login.
[root@master ~]#
```
### 3、设置允许ROOT用户Telnet登录
```
# 修改login文件
vim /etc/pam.d/login
注释这一行文件
#account required pam_nologin.so
按:wq保存退出。
# 注释掉securetty文件
mv /etc/securetty /etc/securetty.bak
C:\Users\xybdiy>telnet 192.168.200.11
Kernel 3.10.0-1160.53.1.el7.x86_64 on an x86_64
master login: root
Password:
Last failed login: Tue Feb 22 13:59:24 CST 2022 from ::ffff:192.168.200.2 on pts/1
There was 1 failed login attempt since the last successful login.
Last login: Tue Feb 22 13:45:55 on pts/2
[root@master ~]#
[root@master ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-1160.53.1.el7.x86_64 on an x86_64
master login: root
Password:
Last login: Tue Feb 22 14:11:49 from ::ffff:192.168.200.2
[root@master ~]#
```
|