设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间01 现在时间01 缓存数据 当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

查看: 412|回复: 1

Linux(RedHat或CentOS)下实现开启telnet服务方式

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:235
  • 打卡月天数:1
  • 打卡总奖励:3500
  • 最近打卡:2025-12-10 17:17:46
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
448
主题
427
精华
0
金钱
4856
积分
951
注册时间
2023-1-7
最后登录
2025-12-10

发表于 2025-8-29 04:19:07 | 显示全部楼层 |阅读模式
一、Telnet服务介绍

Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。
可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

二、开启Telnet服务的安全隐患

虽然Telnet较为简单实用也很方便,但是在格外注重安全的现代网络技术中,Telnet并不被重用。
原因在于Telnet是一个明文传送协议,它将用户的所有内容,包括用户名和密码都明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用Telnet服务。
如果我们要使用Telnet的远程登录,使用前应在远端服务器上检查并设置允许Telnet服务的功能。
参考文献:Telnet_百度百科 (baidu.com)

三、开始Telnet服务操作方法

如果确实想用Telnet来连接服务的话,首先需要在服务器上确定是否安装了telnet-server和xinetd(telnet服务需要依赖它来完成)。

3.1、检查服务端telnet情况
  1. [root@app ~]# rpm -qa|grep telnet-server
  2. [root@app ~]# rpm -qa|grep xinetd
复制代码
执行完以上命令,如果没有输出内容说明没有安装telnet-server和xinetd。

3.2、安装telnet-server和xinetd的准备工作

telnet-server和xinetd一般都在操作系统的镜像中,可以先检查一下,主机上是否配置好了镜像源或是yum源。
  1. [root@app ~]# cd /etc/yum.repos.d/
  2. [root@app yum.repos.d]# ls
  3. CentOS76.repo  repo
  4. [root@app yum.repos.d]# cat CentOS76.repo
  5. [CentOS7.6_x64]
  6. name=CentOS7.6_x64.iso
  7. baseurl=file:///mnt/iso
  8. enabled=1
  9. gpgcheck=0
  10. [root@app yum.repos.d]#
复制代码
以上操作是对yum源的配置,如果在安装过程中有其它的依赖包的话,可以通过yum源的配置摆脱依赖包的烦恼。

3.3、检查yum源中的telnet-server和xinetd安装文件是否存在

3.3.1、检查telnet-server和xinetd
  1. [root@app yum.repos.d]# yum list telnet-server
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. 可安装的软件包
  5. telnet-server.x86_64               1:0.17-64.el7          CentOS7.6_x64
  6. [root@app yum.repos.d]# yum list xinetd
  7. 已加载插件:fastestmirror, langpacks
  8. Loading mirror speeds from cached hostfile
  9. 可安装的软件包
  10. xinetd.x86_64                      2:2.3.15-13.el7        CentOS7.6_x64                                                   
复制代码
出现以上结果,说明操作系统的镜像中存在telnet-server和xinetd安装文件,接下来就可以使用yum命令进行安装了。

3.4、安装telnet-server和xinetd

安装telnet-server:
  1. [root@app yum.repos.d]# yum install -y telnet-server
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系
  5. --> 正在检查事务
  6. ---> 软件包 telnet-server.x86_64.1.0.17-64.el7 将被 安装
  7. --> 解决依赖关系完成

  8. 依赖关系解决

  9. =================================================================================================================================================================
  10. Package                                 架构                             版本                                     源                                       大小
  11. =================================================================================================================================================================
  12. 正在安装:
  13. telnet-server                           x86_64                           1:0.17-64.el7                            CentOS7.6_x64                            41 k

  14. 事务概要
  15. =================================================================================================================================================================
  16. 安装  1 软件包

  17. 总下载量:41 k
  18. 安装大小:55 k
  19. Downloading packages:
  20. Running transaction check
  21. Running transaction test
  22. Transaction test succeeded
  23. Running transaction
  24.   正在安装    : 1:telnet-server-0.17-64.el7.x86_64                                                                                                           1/1
  25.   验证中      : 1:telnet-server-0.17-64.el7.x86_64                                                                                                           1/1

  26. 已安装:
  27.   telnet-server.x86_64 1:0.17-64.el7                                                                                                                             

  28. 完毕!
  29. [root@app yum.repos.d]#
复制代码
安装xinetd:
  1. [root@app yum.repos.d]# yum install -y xinetd
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系
  5. --> 正在检查事务
  6. ---> 软件包 xinetd.x86_64.2.2.3.15-13.el7 将被 安装
  7. --> 解决依赖关系完成

  8. 依赖关系解决

  9. =================================================================================================================================================================
  10. Package                           架构                              版本                                         源                                        大小
  11. =================================================================================================================================================================
  12. 正在安装:
  13. xinetd                            x86_64                            2:2.3.15-13.el7                              CentOS7.6_x64                            128 k

  14. 事务概要
  15. =================================================================================================================================================================
  16. 安装  1 软件包

  17. 总下载量:128 k
  18. 安装大小:261 k
  19. Downloading packages:
  20. Running transaction check
  21. Running transaction test
  22. Transaction test succeeded
  23. Running transaction
  24.   正在安装    : 2:xinetd-2.3.15-13.el7.x86_64                                                                                                                1/1
  25.   验证中      : 2:xinetd-2.3.15-13.el7.x86_64                                                                                                                1/1

  26. 已安装:
  27.   xinetd.x86_64 2:2.3.15-13.el7                                                                                                                                 

  28. 完毕!
  29. [root@app yum.repos.d]#
复制代码
3.4.1、检查telnet-server和xinetd是否安装成功
  1. [root@app yum.repos.d]# rpm -qa|grep telnet-server
  2. telnet-server-0.17-64.el7.x86_64
  3. [root@app yum.repos.d]# rpm -qa|grep xinetd
  4. xinetd-2.3.15-13.el7.x86_64
复制代码
出现以上结果,说明telnet-server和xinetd已安装成功。
3.4.2、安装telnet客户端
这一步可以不用操作,安装telnet客户端主要的作用,是为了测试telnet服务是否可以正常使用,大家也可以用windows的telnet客户端进行测试,或是ssh终端工具进行测试。
  1. [root@app xinetd.d]# yum install -y telnet
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系
  5. --> 正在检查事务
  6. ---> 软件包 telnet.x86_64.1.0.17-64.el7 将被 安装
  7. --> 解决依赖关系完成

  8. 依赖关系解决

  9. =================================================================================================================================================================
  10. Package                            架构                               版本                                      源                                         大小
  11. =================================================================================================================================================================
  12. 正在安装:
  13. telnet                             x86_64                             1:0.17-64.el7                             CentOS7.6_x64                              64 k

  14. 事务概要
  15. =================================================================================================================================================================
  16. 安装  1 软件包

  17. 总下载量:64 k
  18. 安装大小:113 k
  19. Downloading packages:
  20. Running transaction check
  21. Running transaction test
  22. Transaction test succeeded
  23. Running transaction
  24.   正在安装    : 1:telnet-0.17-64.el7.x86_64                                                                                                                  1/1
  25.   验证中      : 1:telnet-0.17-64.el7.x86_64                                                                                                                  1/1

  26. 已安装:
  27.   telnet.x86_64 1:0.17-64.el7                                                                                                                                    

  28. 完毕!
  29. [root@app xinetd.d]#
复制代码
3.4.3、启动telnet-server和xinetd服务
启动telnet-server,并设为开机启动:
  1. [root@app xinetd.d]# systemctl start telnet.socket      //启动telnet-server
  2. [root@app xinetd.d]# systemctl status telnet.socket     //查看telnet-server启动状态
  3. ● telnet.socket - Telnet Server Activation Socket
  4.    Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
  5.    Active: active (listening) since 日 2024-09-08 15:57:46 CST; 15s ago
  6.      Docs: man:telnetd(8)
  7.    Listen: [::]:23 (Stream)
  8. Accepted: 0; Connected: 0

  9. 9月 08 15:57:46 app systemd[1]: Listening on Telnet Server Activation Socket.
  10. [root@app xinetd.d]# systemctl enable telnet.socket     //把telnet-server设为开机启动
  11. [root@app xinetd.d]# systemctl list-unit-files telnet.socket    //查看telnet-server设为开机启动是否成功
  12. UNIT FILE     STATE  
  13. telnet.socket enabled

  14. 1 unit files listed.
复制代码
这里需要注意的是启动telnet-server服务的文件是telnet.socket。有些同学会认为应该是telnet.service这个文件,telnet-server和其它服务不太一样,它是以超级服务进行启动的。
具体介绍大家可以参考一下xinetd的介绍:xinetd_百度百科 (baidu.com)
启动xinetd,并设为开机启动:
  1. [root@app xinetd.d]# systemctl start xinetd.service          //启动xinetd服务
  2. [root@app xinetd.d]# systemctl status xinetd.service         //查看xinetd服务启动状态
  3. ● xinetd.service - Xinetd A Powerful Replacement For Inetd
  4.    Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
  5.    Active: active (running) since 日 2024-09-08 16:03:55 CST; 9s ago
  6.   Process: 22314 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
  7. Main PID: 22315 (xinetd)
  8.     Tasks: 1
  9.    CGroup: /system.slice/xinetd.service
  10.            └─22315 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

  11. 9月 08 16:03:55 app xinetd[22315]: removing discard
  12. 9月 08 16:03:55 app xinetd[22315]: removing discard
  13. 9月 08 16:03:55 app xinetd[22315]: removing echo
  14. 9月 08 16:03:55 app xinetd[22315]: removing echo
  15. 9月 08 16:03:55 app xinetd[22315]: removing tcpmux
  16. 9月 08 16:03:55 app xinetd[22315]: removing time
  17. 9月 08 16:03:55 app xinetd[22315]: removing time
  18. 9月 08 16:03:55 app xinetd[22315]: xinetd Version 2.3.15 started with libwrap loadavg labeled-networking options compiled in.
  19. 9月 08 16:03:55 app xinetd[22315]: Started working: 0 available services
  20. 9月 08 16:03:55 app systemd[1]: Started Xinetd A Powerful Replacement For Inetd.
  21. [root@app xinetd.d]# systemctl enable xinetd.service         //把xinetd服务设为开机启动
  22. [root@app xinetd.d]# systemctl list-unit-files xinetd.service    //查看xinetd服务设为开机启动是否成功
  23. UNIT FILE      STATE  
  24. xinetd.service enabled

  25. 1 unit files listed.
复制代码
3.5、telnet-server服务测试
  1. [root@app xinetd.d]# telnet 192.168.10.2 23
  2. Trying 192.168.10.2...
  3. Connected to 192.168.10.2.
  4. Escape character is '^]'.

  5. Kernel 3.10.0-957.el7.x86_64 on an x86_64
  6. app login:
复制代码
当看到以上连接结果,说明telnet-server和xinetd服务已经正常工作了。下面试着输入用户名和密码看是否能正常连接进入。
  1. [root@app xinetd.d]# telnet 192.168.10.2 23
  2. Trying 192.168.10.2...
  3. Connected to 192.168.10.2.
  4. Escape character is '^]'.

  5. Kernel 3.10.0-957.el7.x86_64 on an x86_64
  6. app login: rootPassword: Login incorrectapp login:
复制代码
root用户登录被拒绝登录了。
这是因为telnet-server服务默认情况下,RedHat和CentOS系统是不允许root用户通过telnet的方式远程登陆系统的(这是为了安全起见做的默认设定)。
如果要使用root用户登录系统,需要修改/etc/securetty文件内容,把以下内容添加到该文件的最下方,保存即可。
  1. pts/0
  2. pts/1
  3. pts/2
  4. pts/3
  5. pts/4
复制代码
如下,这里把以上内容添加到 /etc/securetty文件内容的结果:
  1. [root@app xinetd.d]# tail -5 /etc/securettypts/0
  2. pts/1
  3. pts/2
  4. pts/3
  5. pts/4[root@app xinetd.d]#
复制代码
重启telnet-server和xinetd服务:
  1. [root@app xinetd.d]# systemctl restart telnet.socket
  2. [root@app xinetd.d]# systemctl restart xinetd.service
复制代码
再次尝试连接telnet-server:
  1. [root@app xinetd.d]# telnet 192.168.10.2 23
  2. Trying 192.168.10.2...
  3. Connected to 192.168.10.2.
  4. Escape character is '^]'.

  5. Kernel 3.10.0-957.el7.x86_64 on an x86_64
  6. app login: rootPassword: Last failed login: Sun Sep  8 16:11:58 CST 2024 from ::ffff:192.168.10.2 on pts/2There was 1 failed login attempt since the last successful login.Last login: Sun Sep  8 15:23:58 from 192.168.10.1[root@app ~]#
复制代码
输入root用户的密码,已经正常连接进来了。说明telnet-server已经可以正常连接使用了。
大家也可以用ssh终端工具进行测试,以下是使用Xshell工具进行连接的测试。
1.png

ssh工具也可以正常连接了。

知识扩展

如果大家使用的是RedHat或CentOS操作系统的版本是7.0以下的,安装完xinetd和telnet-server后,后面的操作稍微有点不一样,7.0以下的版本是通过修改/etc/xinetd.d/telnet配置文件来实现的。
如下:
  1. # vi /etc/xinetd.d/telnet                    // 把disable中的yes改成no
  2. service telnet
  3. {
  4.         flags           = REUSE
  5.         socket_type     = stream      
  6.         wait            = no
  7.         user            = root
  8.         server          = /usr/sbin/in.telnetd
  9.         log_on_failure  += USERID
  10.        disable         = yes
  11. }

  12. service telnet
  13. {
  14.         flags           = REUSE
  15.         socket_type     = stream      
  16.         wait            = no
  17.         user            = root
  18.         server          = /usr/sbin/in.telnetd
  19.         log_on_failure  += USERID
  20.         disable         = no
  21. }

  22. # /etc/init.d/xinetd reload       //重新加载xinetd服务。
复制代码
其中是否能让root用户登录的方法和3.5小节点中,给/etc/securetty配置文件中添加内容的操作一样,添加完成之后执行 /etc/init.d/xinetd reload,让其重新加载xinetd服务即可。
注:以上方法操作都没有问题,但是在连接telnet-server的23端口时,一直连接不上,有可能是主机的防火墙阻止了23端口的连接,大家可以把防火墙关闭,或是放开23端口即可。
大家可以参照下面方法通过防火墙放开23端口。
RedHat和CentOS 系统版本是7.0的,默认采用 firewalld 防火墙。6.0采用iptables防火墙,下面分别简单的介绍一下操作方法。
以下是7.0版本的操作方法:
查询防火墙是否开启了 23 端口:
  1. [root@app xinetd.d]# firewall-cmd --query-port=23/tcp
  2. no
复制代码
执行结果为“no” 表示未开启,通过以下命令开启 23 端口:
  1. [root@app xinetd.d]# firewall-cmd --zone=public --add-port=23/tcp --permanent    //永久(--permanent)开启23端口
  2. success    //开启成功
  3. [root@app xinetd.d]# firewall-cmd --complete-reload                              // 重载防火墙配置,使变更生效
  4. success    //重载成功
  5. [root@app xinetd.d]# firewall-cmd --query-port=23/tcp                            // 查询开启状态
  6. yes        //开启
复制代码
或是直接使用以下命令关闭防火墙:
  1. [root@app ~]# systemctl stop firewalld.service         //停止防火墙
  2. [root@app ~]# systemctl status firewalld.service       //查看防火墙运行状态
  3. ● firewalld.service - firewalld - dynamic firewall daemon
  4.    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  5.    Active: inactive (dead)
  6.      Docs: man:firewalld(1)

  7. 9月 08 16:48:18 app systemd[1]: Starting firewalld - dynamic firewall daemon...
  8. 9月 08 16:48:18 app systemd[1]: Started firewalld - dynamic firewall daemon.
  9. 9月 08 16:48:23 app systemd[1]: Stopping firewalld - dynamic firewall daemon...
  10. 9月 08 16:48:24 app systemd[1]: Stopped firewalld - dynamic firewall daemon.
  11. [root@app ~]# systemctl disable firewalld.service       //关闭防火墙开始启动
复制代码
6.0版本的操作如下:

  • 停止防火墙:service iptables stop
  • 查看防火墙状态:service iptables status
  • 禁止开机启动:chkconfig iptables off
  • 查看开机启动状态:chkconfig --list iptables
  • 放开访问端口:iptables -I INPUT -p tcp --dport 23 -j ACCEPT
注:使用iptables这种方式放开端口的操作,不会写入配置文件 /etc/sysconfig/iptables 中,重启系统会失效(重启防火墙服务也会失效)
可以再执行一次保存命令,将通过命令添加的开放端口保存到配置中:service iptables save

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持晓枫资讯。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
11
积分
2
注册时间
2024-11-3
最后登录
2024-11-3

发表于 2025-9-1 23:40:37 | 显示全部楼层
感谢楼主,顶。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表