Centos7安装telnet-server并升级安装Openssh9.0p1

背景

HW之前漏洞扫描出来机器的一些OpenSSH安全漏洞,且当前的版本是OpenSSH_7.4p1, OpenSSH <7.5 属实有点老了

需求

  • 更新至OpenSSH_9.0p1
  • 更新OpenSSH前先安装telnet-server服务,防止意外发生

1、安装telnet-server服务

  • 查看本机是否安装telnet客户端及服务端
[root@sre ~]# rpm -qa | grep telnet
[root@sre ~]# rpm -qa telnet-server
[root@sre ~]# rpm -qa xinetd

如果什么都不显示。说明你没有安装telnet

  • yum安装xinetd和telnet-server

xinetd是新一代的网络守护进程服务程序

[root@sre ~]# yum install  xinetd telnet telnet-server telnet
  • 启动并配置自启动

注意:因为是由xinetd管理,这里启动的是telnet.socket而不是telnet.service

[root@sre ~]# systemctl start telnet.socket
[root@sre ~]# systemctl start xinetd

[root@sre ~]# systemctl enable xinetd
[root@sre ~]# systemctl enable telnet.socket
  • 查看服务状态
[root@localhost ~]# netstat -tulp|grep telnet
tcp6      0      0 [::]:telnet           [::]:*               LISTEN 1/systemd
[root@localhost ~]# netstat -tunlp|grep 23
tcp6      0      0 :::23                 :::*                 LISTEN 1/systemd

如果看到上述输出则表明telnet-server正常
  • 配置PAM模块允许root远程登录【可选】

注意: 默认情况下,PAM模块限制root不能telnet到telnet-server,可使用普通用户登录后su切换

#移除securetty文件
验证规则设置在/etc/security文件中,该文件定义root用户只能在tty1-tty6的终端上记录,删除该文件或者将其改名即可避开验证规则实现root用户远程登录。

[root@nodel ~]# mv /etc/securetty /etc/securetty.bak

一般不建议直接用root用户远程通过telnet登陆系统,因为telnet在数据传输过程采用明文方式,如果,数据包被人截获,将会很容易获取root用户的登陆口令;还是建议以普通用户通过telnet远程登陆,然后su到root,这样相对比较安全。如果非要用root用户远程连接,建议采用SSH

  • 使用telnet客户端登录

    注意: 本文使用的普通用户登录

[root@sre ~]# telnet 172.16.200.150
Trying 172.16.200.150...
Connected to 172.16.200.150.
Escape character is '^]'.

Kernel 3.10.0-1160.el7.x86_64 on an x86_64
docker login: fxkj
Password: 
Last login: Mon Sep 12 23:16:28 from ::ffff:172.16.10.37

[fxkj@docker ~]$ who am i
fxkj      pts/3        2022-09-12 23:34 (::ffff:172.16.10.37)

#su 登录到root
[fxkj@sre ~]$ su - root
Password: 

Last login: Mon Sep 12 23:25:02 EDT 2022 from ::ffff:172.16.10.37 on pts/3
Last failed login: Mon Sep 12 23:33:18 EDT 2022 from ::ffff:172.16.10.37 on pts/3
There were 2 failed login attempts since the last successful login.
[root@sre ~]# 

2、升级安装Openssh9.0p1

  • 查看当前版本
[root@sre ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
  • 下载安装包
[root@sre ~]# wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
  • 解压安装包
[root@sre ~]# tar -xvf openssh-9.0p1.tar.gz
  • 安装前环境准备
[root@sre ~]# yum install -y pam* zlib* openssl-devel gcc make
  • 备份
[root@sre ~]# cp -r /etc/ssh /tmp/
  • 编译安装
[root@sre ~]# cd openssh-9.0p1
[root@sre openssh-9.0p1]# ./configure  --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-pam  --without-openssl-header-check --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd

[root@sre openssh-9.0p1]# make

[root@sre openssh-9.0p1]# rm -rf /etc/ssh/*
[root@sre openssh-9.0p1]# make install
  • 修改SSH配置文件【可选】

    注意: 允许使用root用户远程登录,是否使用PAM认证

[root@sre openssh-9.0p1]# sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
[root@sre openssh-9.0p1]# sed -i 's/#UsePAM yes/UsePAM yes/g' /etc/ssh/sshd_config
  • 配置systemd管理
[root@sre openssh-9.0p1]# cp -a  contrib/redhat/sshd.init /etc/init.d/sshd
[root@sre openssh-9.0p1]# chkconfig sshd on
[root@sre openssh-9.0p1]# chkconfig --add sshd
[root@sre openssh-9.0p1]# systemctl enable sshd
[root@sre openssh-9.0p1]# systemctl restart sshd
  • 查看升级后版本
[root@sre ~]# ssh -V
OpenSSH_9.0p1, OpenSSL 1.0.2k-fips  26 Jan 2017
  • 使用SSH客户端登录

    注意: 本文使用的普通用户登录

[root@sre ~]# ssh fxkj@172.16.200.150
fxkj@172.16.200.150's password: 
Last login: Mon Sep 12 23:34:06 2022 from ::ffff:172.16.10.37

[fxkj@sre ~]$ su - root
Password: 

Last login: Mon Sep 12 23:35:00 EDT 2022 on pts/3
[root@sre  ~]# 

3、升级后关闭telnet-server服务

  • 关闭telnet-server并取消自启动
[root@sre ~]# systemctl stop telnet.socket
[root@sre ~]# systemctl stop xinetd

[root@sre ~]# systemctl disable xinetd
[root@sre ~]# systemctl disable telnet.socket

4、其他&注意事项

  • 使用普通用户登录系统,需要提前创建用户并设置密码
  • 使用root用户登录系统,需要修改文章中对应的配置文件

5、参考

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6761

赞 (0)
卡萨丁, 卡莎的头像卡萨丁, 卡莎
上一篇 2023年1月20日 下午2:50
下一篇 2023年1月20日 下午2:50

相关推荐

  • Centos下配置JDK环境-支持JDK所有版本(超详细过程)

    前言 配置jdk环境,本人写了两种方案进行配置,当然也最推荐第一种方案。 下载JDK都是免费的,JDK各个版本的下载地址为:https://www.oracle.com/java/technologies/javase-downloads.html 本文以JDK 8为例,操作系统以CentOS7.6为例,CentOS7的所有系统都是相同的操作。 一、环境 首…

    2022年6月17日
    3.2K00
  • Testdisk 取消删除FAT文件

    此恢复示例将指导您逐步使用TestDisk从 FAT (FAT12/FAT16/FAT32) 和 VFAT 文件系统中恢复删除的文件。FAT 主要用于数码相机的存储卡和 USB 闪存盘。VFAT 主要存在于 Windows 下格式化的外部硬盘上。可以恢复已删除的文件。当文件被删除时,文件名被标记为已删除,数据区域被标记为未分配/空闲,但 TestDisk 可…

    2024年1月5日
    1.8K00
  • 查看调整cpu频率及模式

    使用cpufrequtils查看调整cpu频率及模式 cpufrequtils是一个查看和修改CPU频率GHz的工具有些物理服务器使用默认频率进行运行,这时可以使用该工具进行就该CPU的核心频率 安装: 使用: cpufreq-info 查看当前cpu状态 参数: 参数 值 说明 -c CPU序号 查看所指定cpu状态 -f 查看cpu当前频率 -l 查看c…

    2023年11月3日
    1.6K00
  • centos7 丢失grub无法启动

    1、使用CentOS7的原版镜像开机从光驱启动 当然你也可以做成启动U盘,从U盘启动 2、选择Troubleshooting->Rescue a CentOS system 3、根据提示先选择1 提示没有找到任何Linux分区,这时会进入shell 4、发现LVM逻辑卷 可以看到/dev/sda2为LVM2_member 5、挂载故障根分区到/mnt/sys…

    2023年7月20日
    1.6K00
  • Linux 查看内核以及系统版本的3种方法

    1、使用uname命令查看 uname命令显示多个系统信息,包括Linux内核体系结构,名称版本和发行版。查看Linux内核版本,输入以下命令: uname -a uname -srm uname -r 2、使用hostnamectl命令查看 3、通过查看 /proc/version 文件确认 /proc 目录包含虚拟文件,其中包含有关系统内存,CPU内核,…

    2023年6月13日
    1.6K00

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信