概述
一、Telnet 服务简介
Telnet 协议 是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用 Telnet 程序,用它连接到服务器。终端使用者可以在 Telnet 程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 Telnet 会话,必须输入用户名和密码来登录服务器。Telnet 是常用的远程控制 Web 服务器的方法。
参考:Telnet_百度百科
二、开启步骤
以下操作基于 CentOS7.6:
[root@showayCentOS ~]# tail /etc/redhat-release // 查看 centos 版本
CentOS Linux release 7.6.1810 (Core)
1、安装软件
1)、检查是否已安装 telnet
需要安装的软件有三个:
- telnet-server:telnet 服务端
- xinetd:telnet 的自启动依赖它
安装之前先检测是否已安装了这些软件包:
[root@showayCentOS ~]# rpm -qa|grep telnet // 检查是否安装了 telnet
[root@showayCentOS ~]# rpm -qa|grep xinetd // 检查是否安装了 xinetd
[root@showayCentOS ~]#
如上所示,执行结果没有输出,表明该服务器上没有安装 telnet 和 xinetd。
2)、安装 telnet 及 xinetd
查询可以安装的 telnet 和 xinetd 程序包:
[root@showayCentOS ~]# yum list|grep telnet // 显示所有已安装和可安装的程序包
telnet.x86_64 1:0.17-64.el7 base // 客户端,可以安装以方便自测
telnet-server.x86_64 1:0.17-64.el7 base // base 表示可安装
[root@showayCentOS ~]# yum list|grep xinetd
xinetd.x86_64 2:2.3.15-13.el7 base
安装 telnet 服务端 和 xinetd(程序名在上面可以看到):
[root@showayCentOS ~]# yum install -y telnet-server // 安装 telnet 服务端
...
...
...
已安装:
telnet-server.x86_64 1:0.17-64.el7
完毕!
[root@showayCentOS ~]# yum install -y xinetd // 安装 xinetd
...
...
...
已安装:
xinetd.x86_64 2:2.3.15-13.el7
完毕!
安装 telnet 客户端(选装,安装上可以方便自测 telnet 服务是否正常启动):
[root@showayCentOS ~]# yum install -y telnet
...
...
...
已安装:
telnet.x86_64 1:0.17-64.el7
完毕!
3)、设置开机自启动并开启服务
设置开机自启动(为了防止服务器意外重启):
[root@showayCentOS ~]# systemctl enable xinetd.service // 开机启动 xinetd 服务
[root@showayCentOS ~]# systemctl enable telnet.socket // 开机启动 telnet 服务
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.
开启服务:
[root@showayCentOS ~]# systemctl start telnet.socket
[root@showayCentOS ~]# systemctl start xinetd.service
查看 telnet 和 xinetd 服务状态:
[root@showayCentOS ~]# systemctl status xinetd.service
● xinetd.service - Xinetd A Powerful Replacement For Inetd
Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
Active: active (running) since 四 2019-12-19 23:16:14 CST; 12s ago
Process: 15846 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
Main PID: 15847 (xinetd)
CGroup: /system.slice/xinetd.service
└─15847 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
12月 19 23:16:14 showayCentOS xinetd[15847]: removing discard
12月 19 23:16:14 showayCentOS xinetd[15847]: removing discard
12月 19 23:16:14 showayCentOS xinetd[15847]: removing echo
12月 19 23:16:14 showayCentOS xinetd[15847]: removing echo
12月 19 23:16:14 showayCentOS xinetd[15847]: removing tcpmux
12月 19 23:16:14 showayCentOS xinetd[15847]: removing time
12月 19 23:16:14 showayCentOS xinetd[15847]: removing time
12月 19 23:16:14 showayCentOS xinetd[15847]: xinetd Version 2.3.15 started with libwrap loadavg labeled-networking options compiled in.
12月 19 23:16:14 showayCentOS xinetd[15847]: Started working: 0 available services
12月 19 23:16:14 showayCentOS systemd[1]: Started Xinetd A Powerful Replacement For Inetd.
[root@showayCentOS ~]# systemctl status telnet.socket
● telnet.socket - Telnet Server Activation Socket
Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
Active: active (listening) since 四 2019-12-19 23:15:58 CST; 8min ago
Docs: man:telnetd(8)
Listen: [::]:23 (Stream)
Accepted: 1; Connected: 0
12月 19 23:15:58 showayCentOS systemd[1]: Listening on Telnet Server Activation Socket.
可以看到,xinetd 和 telnet 服务都已成功启动(每个命令执行结果的第三行)。
4)、测试 telnet 是否可连接
本机自测(因为此时因防火墙原因,telnet 默认连接端口 23 是关闭的,外部无法连接进来测试):
[root@showayCentOS ~]# telnet localhost // telnet 客户端连接主机服务器(localhost)
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-957.el7.x86_64 on an x86_64
showayCentOS login:
当看到登录提示时,表明本机的 telnet 服务已正常运行。
但,这时如果用 root 帐号登录,输入密码后,我们会发现登录失败:
[root@showayCentOS ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-957.el7.x86_64 on an x86_64
showayCentOS login: root
Password:
Login incorrect // 登录不正确
showayCentOS login:
这是因为默认情况下,centos 系统是不允许 root 用户通过 telnet 方式远程登录系统的。如果要使 root 用户可以直接登录,需将以下内容添加到 /etc/securetty 文件末尾:
pts/0
pts/1
pts/2
pts/3
可以通过 vi 或 vim 打开 /etc/securetty ,在文件末尾加入以上内容,或这通过以下命令直接在文件末尾追加:
[root@showayCentOS ~]# echo -e 'pts/0npts/1npts/2npts/3' >>/etc/securetty
添加完成之后的文件如下所示:
[root@showayCentOS ~]# tail -5 /etc/securetty // 显示末尾 5 行
xvc0
pts/0
pts/1
pts/2
pts/3
重启 telnet 服务,使上述配置生效:
[root@showayCentOS ~]# systemctl restart xinetd.service
当我们再次自测 telnet 登录时,没有提示登录不正确:
[root@showayCentOS ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Kernel 3.10.0-957.el7.x86_64 on an x86_64
showayCentOS login: root
Password:
Last login: Fri Dec 20 00:06:37 from localhost
5)、开启防火墙 telnet 远程 23 端口
CentOS 默认采用 firewalld 防火墙。查询防火墙是否开启了 23 端口:
[root@showayCentOS ~]# firewall-cmd --query-port=23/tcp
no
执行结果 no 表示未开启,通过以下命令开启 23 端口:
[root@showayCentOS ~]# firewall-cmd --zone=public --add-port=23/tcp --permanent // 永久(--permanent)开启 23 端口
success // 开启成功
[root@showayCentOS ~]# firewall-cmd --complete-reload // 重载防火墙配置,使变更生效
success // 重载成功
[root@showayCentOS ~]# firewall-cmd --query-port=23/tcp // 查询开启状态
yes // 开启
然后,我们就可以通过其他电脑上的 telnet 客户端远程连接并登录到这台服务器了。
最后
以上就是怕孤独仙人掌为你收集整理的CentOS7.6 开启 Telnet 服务一、Telnet 服务简介二、开启步骤的全部内容,希望文章能够帮你解决CentOS7.6 开启 Telnet 服务一、Telnet 服务简介二、开启步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复