Linux(RedHat或CentOS)下如何开启telnet服务

news2024/9/21 14:32:30

一、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(telnete服务需要依赖它来完成)。

3.1、检查服务端telnet情况

[root@app ~]# rpm -qa|grep telnet-server
[root@app ~]# rpm -qa|grep xinetd

执行完以上命令,如果没有输出内容说明没有安装telnet-server和xinetd。

3.2、安装telnet-server和xinet

telnet-server和xinet一般都在操作系统的镜像中,可以先检查一下,主机上是否配置好了镜像源或是yum源。

[root@app ~]# cd /etc/yum.repos.d/
[root@app yum.repos.d]# ls
CentOS76.repo  repo
[root@app yum.repos.d]# cat CentOS76.repo 
[CentOS7.6_x64]
name=CentOS7.6_x64.iso
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
[root@app yum.repos.d]# 

以上操作是对yum源的配置,如果在安装过程中有其它的依赖包的话,可以通过yum源的配置摆脱依赖包的烦恼。

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

3.3.1、检查telnet-server和xinetd
[root@app yum.repos.d]# yum list telnet-server
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
telnet-server.x86_64               1:0.17-64.el7          CentOS7.6_x64 
[root@app yum.repos.d]# yum list xinetd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
xinetd.x86_64                      2:2.3.15-13.el7        CentOS7.6_x64                                                   

出现以上结果,说明操作系统的镜像中存在telnet-server和xinetd安装文件,接下来就可以使用yum命令进行安装了。

3.4、安装telnet-server和xinetd

安装telnet-server:

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

依赖关系解决

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

事务概要
=================================================================================================================================================================
安装  1 软件包

总下载量:41 k
安装大小:55 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:telnet-server-0.17-64.el7.x86_64                                                                                                           1/1 
  验证中      : 1:telnet-server-0.17-64.el7.x86_64                                                                                                           1/1 

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

完毕!
[root@app yum.repos.d]# 

安装xinetd:

[root@app yum.repos.d]# yum install -y xinetd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 xinetd.x86_64.2.2.3.15-13.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

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

事务概要
=================================================================================================================================================================
安装  1 软件包

总下载量:128 k
安装大小:261 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 2:xinetd-2.3.15-13.el7.x86_64                                                                                                                1/1 
  验证中      : 2:xinetd-2.3.15-13.el7.x86_64                                                                                                                1/1 

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

完毕!
[root@app yum.repos.d]# 
3.4.1、检查telnet-server和xinetd是否安装成功
[root@app yum.repos.d]# rpm -qa|grep telnet-server
telnet-server-0.17-64.el7.x86_64
[root@app yum.repos.d]# rpm -qa|grep xinetd
xinetd-2.3.15-13.el7.x86_64

出现以上结果,说明telnet-server和xinetd已安装成功。

3.4.2、安装telnet客户端

这一步可以不用操作,安装telnet客户端主要的作用,是为了测试telnet服务是否可以正常使用,大家也可以用windows的telnet客户端进行测试,或是ssh终端工具进行测试。

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

依赖关系解决

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

事务概要
=================================================================================================================================================================
安装  1 软件包

总下载量:64 k
安装大小:113 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:telnet-0.17-64.el7.x86_64                                                                                                                  1/1 
  验证中      : 1:telnet-0.17-64.el7.x86_64                                                                                                                  1/1 

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

完毕!
[root@app xinetd.d]# 
3.4.3、启动telnet-server和xinetd服务

启动telnet-server,并设为开机启动:

[root@app xinetd.d]# systemctl start telnet.socket      //启动telnet-server
[root@app xinetd.d]# systemctl status telnet.socket     //查看telnet-server启动状态
● telnet.socket - Telnet Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
   Active: active (listening) since 日 2024-09-08 15:57:46 CST; 15s ago
     Docs: man:telnetd(8)
   Listen: [::]:23 (Stream)
 Accepted: 0; Connected: 0

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

1 unit files listed.

这里需要注意的是启动telnet-server服务的文件是telnet.socket。有些同学会认为应该是telnet.service这个文件,telnet-server和其它服务不太一样,它是以超级服务进行启动的。

具体介绍大家可以参考一下xinetd的介绍:xinetd_百度百科 (baidu.com)

启动xinetd,并设为开机启动:

[root@app xinetd.d]# systemctl start xinetd.service          //启动xinetd服务
[root@app xinetd.d]# systemctl status xinetd.service         //查看xinetd服务启动状态
● xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2024-09-08 16:03:55 CST; 9s ago
  Process: 22314 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 22315 (xinetd)
    Tasks: 1
   CGroup: /system.slice/xinetd.service
           └─22315 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

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

1 unit files listed.

3.5、telnet-server服务测试

[root@app xinetd.d]# telnet 192.168.10.2 23
Trying 192.168.10.2...
Connected to 192.168.10.2.
Escape character is '^]'.

Kernel 3.10.0-957.el7.x86_64 on an x86_64
app login: 

当看到以上连接结果,说明telnet-server和xinetd服务已经正常工作了。下面试着输入用户名和密码看是否能正常连接进入。

[root@app xinetd.d]# telnet 192.168.10.2 23
Trying 192.168.10.2...
Connected to 192.168.10.2.
Escape character is '^]'.

Kernel 3.10.0-957.el7.x86_64 on an x86_64
app login: root
Password: 
Login incorrect

app login: 

root用户登录被拒绝登录了。

这是因为telnet-server服务默认情况下,RedHat和CentOS系统是不允许root用户通过telnet的方式远程登陆系统的(这是为了安全起见做的默认设定)。
如果要使用root用户登录系统,需要修改/etc/securetty文件内容,把以下内容添加到该文件的最下方,保存即可。

pts/0
pts/1
pts/2
pts/3
pts/4

如下,这里把以上内容添加到 /etc/securetty文件内容的结果:

[root@app xinetd.d]# tail -5 /etc/securetty
pts/0
pts/1
pts/2
pts/3
pts/4
[root@app xinetd.d]# 

重启telnet-server和xinetd服务:

[root@app xinetd.d]# systemctl restart telnet.socket
[root@app xinetd.d]# systemctl restart xinetd.service

再次尝试连接telnet-server:

[root@app xinetd.d]# telnet 192.168.10.2 23
Trying 192.168.10.2...
Connected to 192.168.10.2.
Escape character is '^]'.

Kernel 3.10.0-957.el7.x86_64 on an x86_64
app login: root
Password: 
Last failed login: Sun Sep  8 16:11:58 CST 2024 from ::ffff:192.168.10.2 on pts/2
There 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工具进行连接的测试。

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

知识扩展

如果大家使用的是RedHat或CentOS操作系统的版本是7.0以下的,安装完xinetd和telnet-server后,后面的操作稍微有点不一样,7.0以下的版本是通过修改/etc/xinetd.d/telnet配置文件来实现的。如下:

# vi /etc/xinetd.d/telnet                    // 把disable中的yes改成no
service telnet
{
        flags           = REUSE
        socket_type     = stream       
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
       disable         = yes
}

service telnet
{
        flags           = REUSE
        socket_type     = stream       
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}

# /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 端口:

[root@app xinetd.d]# firewall-cmd --query-port=23/tcp
no

执行结果为“no” 表示未开启,通过以下命令开启 23 端口:

[root@app xinetd.d]# firewall-cmd --zone=public --add-port=23/tcp --permanent    //永久(--permanent)开启23端口
success    //开启成功
[root@app xinetd.d]# firewall-cmd --complete-reload                              // 重载防火墙配置,使变更生效
success    //重载成功
[root@app xinetd.d]# firewall-cmd --query-port=23/tcp                            // 查询开启状态
yes        //开启

或是直接使和以下命令关闭防火墙:

[root@app ~]# systemctl stop firewalld.service         //停止防火墙
[root@app ~]# systemctl status firewalld.service       //查看防火墙运行状态
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

9月 08 16:48:18 app systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 08 16:48:18 app systemd[1]: Started firewalld - dynamic firewall daemon.
9月 08 16:48:23 app systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 08 16:48:24 app systemd[1]: Stopped firewalld - dynamic firewall daemon.
[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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32】串口

1.串口-printf 使用printf函数向串口发送东西 使用微库,用到了printf, 但是我们发现是不能发送的 因为底层printf是fputc,我们需要自己实现 后面FILE*P不用管,在fputc中调用 第一个参数为uart1的句柄 第二个为要输出的字符 第三个为一次要发送几…

【c++进阶[五]】list相关接口介绍及list和vector的对比

💓博主CSDN主页::Am心若依旧💓 ⏩专栏分类c从入门到精通⏪ 🚚代码仓库:青酒余成🚚 🌹关注我🫵带你学习更多c   🔝🔝 1.前言 本章重点 本章重点讲解list的接口函数的熟悉&#xf…

W11系统电脑便捷设置

1【win11】取消右键菜单“更多选项”,直接展示完整右键菜单 取消右键菜单“更多选项”,直接展示完整右键菜单 (本质上是修改注册表,通过命令行的方式更加直接快捷) 只需要使用 winR 输入cmd 打开命令行,然后输入以下指令&#xf…

使用ChatGPT润色论文的10大分步技巧,效果立竿见影

大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。 撰写学术论文确实是一项非常具有挑…

HTML 转 PDF API 接口

HTML 转 PDF API 接口 网络工具 / 文件处理 支持网页转 PDF 高效生成 PDF / 提供永久链接。 1. 产品功能 超高性能转换效率;支持将传递的 HTML 转换为 PDF,支持转换 HTML 中的 CSS 格式;支持传递网站 URL,直接转换页面成对应的 …

C++笔记20•数据结构:哈希(Hash)•

哈希 1.无序的关联式容器(unordered_map&unordered_set) unordered_map与unordered_set几乎与map与set是一样的,只是性能unordered_map与unordered_set比map与set更优一些。还有就是unordered_map与unordered_set是无序的,…

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记…

C#顺序万年历自写的求余函数与周位移算法

static int 返回月的天数(int 年, int 月){return (月 2 ?(((年 % 4 0 && 年 % 100 > 0) || 年 % 400 0) ? 29 : 28) :(((月 < 7 && 月 % 2 > 0) || (月 > 7 && 月 % 2 0)) ? 31 : 30));}static int 返回年总天数(int 年, int 标 …

Mac设置文件夹的显示方式:独立窗口显示或者标签页显示

目录 00 Mac文件夹的两种显示方式  0.1 独立窗口显示   0.2 标签页显示 01 独立窗口显示  02 标签页显示 00 Mac文件夹的两种显示方式 0.1 独立窗口显示 0.2 标签页显示 01 独立窗口显示 系统偏好设置System Setting -> 程序坞Desktop & Dock -> 窗口W…

【一文读懂】北斗卫星导航系统介绍

前言 本文来自鲜枣课堂。 本文是关于北斗卫星导航系统的详细介绍&#xff0c;主要阐述了北斗系统的组成、功能、发展历程以及在全球范围内的应用和影响。以下是文件的核心内容提炼&#xff1a; 系统概述&#xff1a; 二级要点关键短语&#xff1a;全球卫星导航系统 北斗卫星…

Learn ComputeShader 11 Star Glow Effect

这次要使用到顶点和片段着色器。同样是制作屏幕后处理效果。 下面是一开始的效果&#xff0c;只是一个循环播放的粒子系统。 我们首先要对源图像的亮部区域进行提亮&#xff0c;然后进行模糊添加光芒。然后进行混合&#xff0c;最后进行一次合成 我们需要创建一些临时纹理来存…

基于Java+SpringBoot+Vue+MySQL的智能菜谱推荐管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于SpringBootVue的智能菜谱推荐管理系统【附源码文档】、…

ML18_EM(Expectation-Maximization)算法详解

1. 梯度上升法和坐标上升法的比较 “梯度上升法”&#xff08;Gradient Ascent Method&#xff09;和“坐标上升法”&#xff08;Coordinate Ascent Method&#xff09;都是优化算法的一部分&#xff0c;用于求解优化问题中的最大值。它们分别基于不同的思路来更新参数以达到目…

51单片机的倒车雷达测距设计【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器模块超声波模块按键等模块构成。适用于倒车雷达测距、超声波测距、汽车防撞报警等相似项目。 可实现功能: 1、LCD1602实时显示环境温度和距离&#xff1b; 2、温度传感器DS18B20采集温度信息&#xff1…

【扇贝编程】使用Selenium模拟浏览器获取动态内容笔记

文章目录 selenium安装 selenium下载浏览器驱动 获取数据处理数据查找一个元素查找所有符合条件的元素 控制浏览器 selenium selenium是爬虫的好帮手&#xff0c; 可以控制你的浏览器&#xff0c;模仿人浏览网页&#xff0c;从而获取数据&#xff0c;自动操作等。 我们只要让…

Bitvise——进入服务器的快捷方式

第一步&#xff1a;在连接进服务器后&#xff0c;点击左侧的保存配置文件&#xff0c;保存至桌面。 第二步&#xff1a;将保存的配置文件&#xff08;后缀为 .tlp&#xff09;打开方式改为bitvise。 第三步&#xff1a;双击配置文件&#xff08;后缀为 .tlp&#xff09;&#…

Redis Sentinel(哨兵)详解

目录 一&#xff1a;什么是Sentinel&#xff08;哨兵&#xff09; 二&#xff1a;Sentinel有什么用 1.监控 2.故障转移 3通知 4.配置提供 三&#xff1a;Sentinel如何检测master节点宕机 1.主观下线 2.客观下线 四&#xff1a;Sentinel是如何选举出新的master 1.s…

树莓派3B串口通信

树莓派3B串口通信 文章目录 树莓派3B串口通信一、串口的基本认知1.1 关于电器标准和协议&#xff1a;RS232RS422RS485 1.2 关于串口的电平&#xff1a;UARTRS232电平TTL电平 1.3 串口通信引脚接线&#xff1a;1.4 串口的通信协议&#xff1a; 二、树莓派串口通信开发2.1 树莓派…

乐凡北斗 | 手持北斗智能终端的作用与应用场景

在科技日新月异的今天&#xff0c;北斗智能终端作为一项融合了北斗导航系统与现代智能技术的创新成果&#xff0c;正悄然改变着我们的生活方式和工作模式。 ​北斗智能终端&#xff0c;是以北斗卫星导航系统为核心&#xff0c;集成了高精度定位、导航、授时等功能的智能设备。它…

JavaEE:多线程进阶(JUC [java.util.concurrent] 的常见类)

文章目录 JUC什么是JUCCallable 接口理解 Callable理解FutureTask ReentrantLock信号量 SemaphoreCountDownLatch JUC 什么是JUC JUC的全称为: java.util.concurrent. JUC是Java并发工具包的一部分。它提供了一组并发编程工具和类&#xff0c;用于处理多线程编程和并发任务。…