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

相关推荐

  • Docker部署MinIO对象存储服务器结合Cpolar实现远程访问

    前言MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行…

    2023年12月20日
    1.3K00
  • 如何修复Linux系统中已知的系统软件缺陷?

    Linux操作系统的ECS实例某些业务运行异常问题,是由Linux操作系统本身已知的系统软件缺陷导致,若您的ECS实例的操作系统不是最新版本,可以尝试通过手动升级ECS实例的操作系统软件包来修复。 当前已知的Linux系统软件缺陷如下: 可通过升级操作系统中软件解决的Linux ECS实例问题 在CentOS或RHEL 7实例上,启动某个服务或进程时提示端口…

    2023年11月14日
    1.5K00
  • Key exchange was not finished, connection is closed.解决办法

    利用java连接Linux服务器中碰到错误:Key exchange was not finished, connection is closed.,导致服务器的连接失败,报错如下 原因 是ssh中的key交换算法不兼容导致 解决办法 修改配置文件 添加如下内容 重启服务

    2023年7月25日
    2.1K00
  • 通过 Linux 命令行连接远程 Windows 系统

    安装 xfreerdp 在使用 xfreerdp 之前,您需要安装它。在大多数 Linux 发行版中,您可以使用包管理器来执行此操作。 在 Ubuntu / Debian 和 Linux Mint 上,运行以下命令 基于 RHEL 的发行版,如 Rocky Linux、AlmaLinux 和 Fedora,运行以下命令 使用 xfreerdp 远程连接 Wi…

    2023年9月20日
    1.5K00
  • Prometheus +grafana 监控PVE

    这边部署Prometheus +grafana,我就不详细描述了,之前的文章都有提到过。 pve后台在数据中心的菜单项里,多了一个度量服务器(Metric Server),中文显示“指标服务器”,翻译得怪怪的。 挡不住好奇,点进去看看,原来是添加远程数据统计服务器InfluxDB或者Graphite。 既然可以添加InfluxDB,那么在此基础上,整合Gra…

    2024年4月11日
    2.2K00

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信