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常用命令

    列出所有容器ID 查看所有运行或者不运行容器 停止所有的container(容器),这样才能够删除其中的images: 如果想要删除所有container(容器)的话再加一个指令: 查看当前有些什么images 删除images(镜像),通过image的id来指定删除谁 想要删除untagged images,也就是那些id为的image的话可以用 要删除全…

    2022年11月19日
    5900
  • CentOS7搭建LNMP环境教程

    一、安装nginx 创建 nginx.repo 文件 安装配置nginx 配置文件详解 启动并验证 二、安装MariaDB 安装mariadb 使用Mysql需先初始化密码 三、安装PHP 更新yum源 执行下面的命令安装所需的包 启动php-fpm 创建测试文件 访问服务器,如果出现如下界面表示安装完成! 这样Lnmp环境就快速搭建完成了!!!

    2022年11月15日
    7900
  • Linux Centos 7.6修改ssh端口为49527,并添加防火墙例外,修改root密码, 设置禁ping,搭建FTP站点 ,修改yum源。

    1.修改ssh端口为49527,并添加防火墙例外 (1). 修改ssh配置文件  /etc/ssh/sshd_config,将端口号修改为49527.同时保留ssh默认的22端口,为了防止修改端口号失败以后,远程登录不上服务器,如图1所示: (2).修改firewall配置 默认情况下,防火墙在没有配置任何策略集情况下,是禁止所有ip地址和端口号同行的,因此…

    2022年7月18日
    24700
  • 使用jenkins 打包前端私服代码失败的问题

    问题现象: jinekins 流水线在yarn 编译前端私服依赖包的时候,报错,提示 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 【emm。。。之前的构建都是好好的,也不知道前端大哥啥时候去封装的前端代码,而且奇怪的是没有放在公共库里。。。。】 Pipeline 流…

    5小时前
    500
  • Nginx升级版本

    一:宝塔Nginx升级 在宝塔界面点击软件管理->运行环境->Nginx的设置 选择切换版本->选择想要升级的版本,点击切换等待安装成功 二:Linux下升级nginx版本(源码包方式) 方式:使用源码包的方式 老版本:nginx/1.13.0 新版本:nginx/1.22.0 一:下载源码包 wget http://nginx.org/d…

    2022年8月2日
    14100

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信