CentOS 7.6 Telnet服务搭建过程(Openssh升级之战 第一任务备用运输线搭建)

有不明的问题的时候,都来博客园转转,总能找到答案或者灵感,开博3个月都没发一篇帖(不晓得管理员有何感想,不会封我的号吧),不能只是索取没有付出。小白一枚琢磨了半天才扒拉明白Telnet服务搭建(照葫芦画瓢,也要知道葫芦从哪里来的),去繁就简,简单整理一下,分享一下。

  Linux上的ssh那么好用为什么还要用Telnet这么老旧的东东呢? 最近被SSH 暴力枚举漏洞弄得头疼,奈何CentOS7最后版本是7.7(里面只openssh7.4,想升级到openssh 8.0),用yum升级ssh是没戏了,rpm的依赖关系(擦汗)。。。。。。,所以只能学编译安装了,第一次使用编译安装这种神器,真怕失手把sshd整挂了,弄个备胎,Telnet是也!

正文:

Setup 1 系统信息 安装

贴下系统信息  [图1]

  [root@azeroth ~]# cat /etc/redhat-release  CentOS Linux release 7.6.1810 (Core)

 下面是已经安装完成的Telnet版本查询,如果还没有安装的是没有包信息显示的。[图2]

  [root@azeroth ~]# rpm -qa|grep telnet  telnet-server-0.17-64.el7.x86_64  telnet-0.17-64.el7.x86_64  [root@azeroth ~]# rpm -qa|grep xinetd  xinetd-2.3.15-13.el7.x86_64

 Telnet 远程登陆工具,Windows里面常常用来测试端口用(- .- !),Xinetd 第一次看见,百科里说是监视网络需求的守护进程(不晓得除了telnet以外还有什么网络服务会用这个?求教) ,等下有个叫telnet的配置文件要写在这里面。

安装

果断YUM哇!(呵呵,没有网?ISO,光驱这两样总得有一样吧,手工挂载制作CentOS-Media.repo源)[图3]

  [root@azeroth ~]# yum install telnet telnet-server xinetd -y  Loaded plugins: fastestmirror  Loading mirror speeds from cached hostfile   * c7-media:  ......

执行完就可以查看到 [图2] 的结果了 。

Setup 2 Telnet进程配置

配置 (重点来了)

  安装完以上会在 /etc/xinetd.d/ 目录下生成很多配置文件,ls 看是否有一个名为 telnet 的配置文件,尝试过两台设备 一台安装完会出现 telnet的默认配置,一台则没有,具体原因不详,暂时没查明原因,不过这个不重要可以参看 百科 xinetd制作一个,也可以copy一个。[图 4]

  [root@azeroth ~]# ll /etc/xinetd.d/telnet  -rw-r--r--. 1 root root 342 Oct 21 21:21 /etc/xinetd.d/telnet  [root@azeroth ~]# cat /etc/xinetd.d/telnet  # default: on  # # description: The telnet server serves telnet sessions; it uses   # # unencrypted username/password pairs for authentication.  # service telnet  # {  # disable = yes  # flags  = REUSE  # socket_type = stream  # wait  = no  # user  = root  # server  = /usr/sbin/in.telnetd  # log_on_failure += USERID  # }

配置解释(解释不对的地方,请大神指点):

存在此配置文件的情况下, 无需修改,是可以正常使用普通用户登陆Telnet服务器的亲测。

说明部分:默认情况下telnet服务为开启, telnet 服务器为 telnet 会话提供服务(废话),它使用未加密的用户名/密码对进行身份验证(试了一下创建一个没有分配密码的用户也没登陆上去)。

{ }部分

# disable = yes           //我理解的意思大概是说 { } 内的字段默认情况下是不被使用的(这个理解似乎有问题,原文:”用在默认的 {} 中 禁止服务“,希望有大神指引一下)

# flags    = REUSE         //没有理解这里的意思是什么,请大神帮忙解答 “标识 = 可重复使用” ?

# socket_type = stream       // 网络套接字类型

# user        = root            //使用root用户运行服务

# server      = /usr/sbin/in.telnetd   //执行进程路径

# log_on_failure  += USERID    //登陆失败日志

  注:# disable = yes 此字段为 yes 或者 no 都不是决定能否使用root登陆的条件(此处被度娘搜索到的帖子误导了)

   其实,Setup3 说了这么多,做了很多次实验和测试,此配置文件和是否能使用root登陆Telnet并没有直接的关系(决定是否能使用root登陆和另外一个配置有关系下文 叙述Setup 6),此配置文件理解的更多的是和Telnet的服务进程有关,哪么问题来了,此配置文件有存在的意义吗?当然,Xinet是用来监视守护网络进程的,Telnet是被Xinetd监视守护的对象,类似于监听的意思,但是比监听功能更强,如上的配置就是用作如何监视,用什么权限监视的配置。

Setup3 可以启动了

  完成上面的安装和Xinetd配置检查,接下来就该添加自启动和运行服务了 [图 5 图 6 ]

[root@azeroth ~]# systemctl enable xinetd.service
[root@azeroth ~]# systemctl start xinetd.service
[root@azeroth ~]# 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 Tue 2019-10-22 22:07:22 CST; 4min 29s ago
 Main PID: 6883 (xinetd)
   CGroup: /system.slice/xinetd.service
           └─6883 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
 
Oct 22 22:07:22 azeroth systemd[1]: Started Xinetd A Powerful Replacement For Inetd.
Oct 22 22:07:22 azeroth xinetd[6883]: removing discard
Oct 22 22:07:22 azeroth xinetd[6883]: removing discard
Oct 22 22:07:22 azeroth xinetd[6883]: removing echo
Oct 22 22:07:22 azeroth xinetd[6883]: removing echo
Oct 22 22:07:22 azeroth xinetd[6883]: removing tcpmux
Oct 22 22:07:22 azeroth xinetd[6883]: removing time
Oct 22 22:07:22 azeroth xinetd[6883]: removing time
Oct 22 22:07:22 azeroth xinetd[6883]: xinetd Version 2.3.15 started with libwrap loadavg labeled-networking options compiled in.
Oct 22 22:07:22 azeroth xinetd[6883]: Started working: 0 available services
  
[root@azeroth ~]# systemctl enable telnet.socket
[root@azeroth ~]# systemctl start telnet.socket
[root@azeroth ~]# 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 Tue 2019-10-22 22:07:06 CST; 6min ago
     Docs: man:telnetd(8)
   Listen: [::]:23 (Stream)
 Accepted: 1; Connected: 0
 
Oct 22 22:07:06 azeroth systemd[1]: Listening on Telnet Server Activation Socket.

Setup 4  防火墙放行

  最容易感觉到的却也是最容易被遗忘的,捣鼓了半天咋还不能登陆,防火墙忘记放行啦!什么 Selinux还没关闭呢?(很多配置Telnet的帖子都提到需要关闭Selinux,不知道是何用意)不存在的,Firewall 放行了还需要关闭Selinux嘛?,亲测是不需要关闭的,Selinux安全上下文毕竟是Redhat系列系统的安全防护重点,不论配置什么应用建议都不要随意关闭,毕竟安全问题不能忽略。[图 7 ]

  [root@azeroth ~]# firewall-cmd --add-port=23/tcp --permanent  success  [root@azeroth ~]# firewall-cmd --reload  success

Setup 5 完成

      完成以上步骤,基本实现了Telnet服务的搭建,快到CMD里面使用Telnet 连接一下试试看吧!请使用普通用户,root权限还没开 ,如果不行请按照步骤检查或reboot。[图 8]

  [root@azeroth ~]# telnet 192.168.11.130  Trying 192.168.11.130...  Connected to 192.168.11.130.  Escape character is '^]'.  Kernel 3.10.0-957.5.1.el7.x86_64 on an x86_64  azeroth login: zym  Password:  Last login: Tue Oct 22 20:09:08 from ::ffff:192.168.11.1  [zym@azeroth ~]$

Setup 6 Root权限登陆配置

  (不建议开启root权限,以上使用普通用户登陆之后即可su切换root了,一省事,二安全,两全其美)如果需要使用root权限登陆Telnet,还需要配置 /etc/securetty,将root允许使用telnet登陆的pts字段添加进配置文件。[图 9 图10]

  [root@azeroth ~]# echo 'pts/0' >>/etc/securetty  [root@azeroth ~]# echo 'pts/1' >>/etc/securetty  [root@azeroth ~]# tail -f /etc/securetty  hvc4  hvc5  hvc6  hvc7  hvsi0  hvsi1  hvsi2  xvc0  pts/0  pts/1  [root@azeroth ~]# systemctl restart telnet.socket

  以上关于CentOS7.6 系统Telnet服务的配置就全部介绍完了。感谢!

  第一次发表随笔博文有点捉襟见肘,写博文一是让自己学习的更扎实;二是希望能有路过看见的大神或者和我一样的小白切磋一二,相互学习指引;技术是用来共享造福人类的。而不是闭门造车,也不只是用来挣钱的工具,这不该是信息共享的本意;三是在网上看见很多的帖子要么叙述不完整,要么有坑,如果有需要的和我一样的小白可以搜索到,这样就能少走一点点弯路节约时间。

总结

以上所述是小编给大家介绍的CentOS 7.6 Telnet服务搭建过程(Openssh升级之战 第一任务备用运输线搭建),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

参与评论