CentOS升级openssh

这篇具有很好参考价值的文章主要介绍了CentOS升级openssh。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CentOS升级openssh

公司几台服务器扫出了几个openssh相关的漏洞,解决办法就是升级openssh版本。升级过程中踩坑较多,故作此博客记录。

!!!前排提示:离线环境可用以下命令在本地预先下载好依赖包
法一:

yum install yum-plugin-downloadonly -y
yum install --downloadonly --downloaddir=路径 安装包名

法二:

yum install yum-utils -y
yumdownloader --resolve --destdir 路径 安装包名

以上两个方法仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。若是将下载的rpm包上传至其他机器进行离线安装很有可能还是会缺少依赖,这时可以使用repotrack进行下载。

法三:

yum -y install yum-utils
repotrack --download_path=路径 安装包名

然后将下载好的依赖包上传至离线环境的服务器,用以下命令安装依赖包

rpm -ivh *.rpm --force

一、查看当前openssl和openssh版本

openssl version -a
ssh -V

二、安装并启用telnet服务(预防升级过程中连接中断,无法再次连接机器)

yum -y install telnet-server xinetd

设置开机自启(非必须操作)

systemctl enable xinetd.service
systemctl enable telnet.socket

启动服务

systemctl start telnet.socket
systemctl start xinetd

配置防火墙
法一:直接对外开发23端口(高风险)

firewall-cmd --add-port=23/tcp --permanent    #--permanent 为永久开启,不加此参数重启防火墙后规则不保存
firewall-cmd --reload   #重启防火墙

法二:只对特定IP开放

firewall-cmd  --permanent --add-rich-rule='rule family=ipv4 source address=192.168.12.1 port protocol=tcp port=23 accept'
firewall-cmd --reload

允许root远程登录
修改/etc/securetty文件,在末尾添加

pts/0
pts/1

重启telnet服务和守护进程

systemctl restart telnet.socket
systemctl restart xinetd.service

测试通过telnet登录服务器

三、升级openssl(3.0.x LTS版本)

#下载、解压安装包
wget http://www.openssl.org/source/old/3.0/openssl-3.0.7.tar.gz --no-check-certificate
tar -zxvf openssl-3.0.7.tar.gz
cd openssl-3.0.7

#安装依赖
yum install -y gcc gcc-c++ glibc make automake autoconf pam pam-devel zlib zlib-devel
#编译预配置
./config shared --prefix=/usr/local/openssl
###报错:Can't locate IPC/Cmd.pm in @INC
#继续安装依赖
yum install -y perl-IPC-Cmd perl-Data-Dumper perl-Digest-SHA
#再次预配置
./config shared --prefix=/usr/local/openssl enable-fips

#编译安装
make
make install
###升级openssl时无需卸载老版本,可将老版本备份后,再安装新版本即可
#备份老版本openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

#软连接刚编译好的新版本openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

#配置库文件路径
echo '/usr/local/openssl/lib64' > /etc/ld.so.conf.d/openssl-x86_64.conf #注意检查左边的路径下确有.so文件
#使配置生效
ldconfig -v

四、升级openssh至最新版本(截至2023-03-24)

#下载、解压安装包
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar -zxvf openssh-9.3p1.tar.gz
#更改用户组和所有者
chown -R root.root ./openssh-9.3p1

#!!!
#!!!接下来的步骤建议使用telnet的方式连接服务器后再操作
#!!!

#停止当前ssh服务
systemctl stop sshd

#备份当前ssh服务及配置
cp -a /etc/ssh /etc/ssh.bak
cp -a /usr/sbin/sshd /usr/sbin/sshd.bak
cp -a /usr/bin/ssh /usr/bin/ssh.bak
#删除老配置
rm -rf /etc/ssh/*

#卸载已安装的openssh相关软件包
rpm -e `rpm -qa | grep openssh` --nodeps

#编译预配置
cd openssh-9.3p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords --with-pam

#编译安装
make
make install

#检查并删除老版本启动脚本
ls /usr/lib/systemd/system/ssh*
rm -f /usr/lib/systemd/system/ssh*

# 拷贝启动脚本
cp contrib/redhat/sshd.init /etc/init.d/sshd
#拷贝sshd.pam配置文件
cp contrib/redhat/sshd.pam /etc/pam.d/

#建立软连接
ln -s /usr/local/openssh/sbin/sshd /usr/sbin/
ln -s /usr/local/openssh/bin/* /usr/bin/    #若报错可将已存在的文件重命名,再执行软连接

systemctl daemon-reload

#启动并设置开机自启动
systemctl start sshd && systemctl enable sshd
#允许root远程登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
#重启ssh服务
systemctl restart sshd
#查看openssh版本,验证是否升级成功
ssh -V

#!!!测试ssh连接是否正常,测试没问题后就可以关闭telnet服务了

#关闭telnet服务
systemctl stop telnet.socket
systemctl disable telnet.socket

#删除防火墙放行端口
firewall-cmd --remove-port=23/tcp --permanent
firewall-cmd --reload

参考链接&鸣谢:

1.https://blog.csdn.net/m0_60356178/article/details/126784397 下载依赖到本地;
2.https://blog.csdn.net/sd4493091/article/details/122220902 感谢博主及评论区“追梦者永恒”大佬;
3.https://zhuanlan.zhihu.com/p/553012987;升级openssl;
4.https://zhuanlan.zhihu.com/p/553027729 升级openssh;
5.https://blog.csdn.net/lhrm0213/article/details/123862835 安装配置telnet相关文章来源地址https://www.toymoban.com/news/detail-525577.html

到了这里,关于CentOS升级openssh的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS离线升级OpenSSH至9.6p1版本

    一、问题背景         目前经过安全部门漏洞扫描设备扫描出CentOS系统存在OpenSSH相关漏洞,现修复建议是OpenSSH过低版本升级至9.6p1版本,但是升级过程中其他依赖也需安装,例如OpenSSL、zlib等。 二、下载安装包         需要下载对应版本安装包后,上传至服务器上(

    2024年04月23日
    浏览(44)
  • 记一次修复漏洞(OpenSSH 安全漏洞(CVE-2023-28531))CentOS升级openssh

    1.查看当前openssl和openssh版本 2.安装并启用telnet服务(防止升级过程无法连接机器) 设置开机自启 启动服务 检查服务是否开启: 开启root用户在telnet登陆:   3.配置防火墙(关闭防火墙可不配置) 法一:直接对外开发23端口(高风险)  #--permanent 为永久开启,不加此参数重启

    2024年02月06日
    浏览(49)
  • Centos6.5 openssh 5.4离线 升级为 openssh 7.7,使用rpm包安装

    很多linux 没有gcc c++ 等编译环境,并且处于内网环境,无法通过yum 命令直接安装软件,又由于编译软件所需要的依赖较多,安装起来相当麻烦。所以使用一台可以联网的Linux 将源码打成rpm包,在去内网linux 安装,即可省去内网linux 安装编译环境所带来的的困扰 Linux Centos6.5 O

    2024年02月11日
    浏览(44)
  • Centos 7.9 升级 OpenSSH 到 openssh-9.4p1及openssl-1.1.1k

    注:ssh升级到openssh-9.4p1需要openssl-1.1.1及以上!!! openssh-9.4p1和openssl-1.1.1下载地址 1.基础环境 首先,安装基础依赖包 yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel wget vim unzip lrzsz yum install -y pam* zlib* .然后,关闭SELinux,随便创建一个放源文件的目录

    2024年02月08日
    浏览(40)
  • Centos7.9离线升级最新OpenSSH9.2,一次过

    1.基础准备 官方网站下载最新版*.tar.gz安装包: 官方下载地址:http://ftp.openbsd.org/pub/OpenBSD/ OpenSSH /portable/ openssh-9. 2 p1.tar.gz (注意: 要下载p1版,此版为编译安装包 ) 官方下载地址:https://www.openssl.org/source/ openssl- 1.1.1t .tar.gz 官方下载地址: http://www. zlib .net/ zlib-1.2.1 3 .tar.g

    2024年02月10日
    浏览(49)
  • Centos7.9-升级openssh9.7p1,修复安全漏洞

    Centos7.9- 升级openssh9.7p1,修复安全漏洞 说明: ssh 服务可以说是最重要的服务之一,远程管理基本都是使用这个了。然而如果出现漏洞,就存在很大的风险,需要及时升级ssh版本来修复漏洞。 主要方法:利用ansible批量源码编译安装openssh                      思路:

    2024年04月26日
    浏览(56)
  • CentOS7 OpenSSL升级1.1.1w;OpenSSH 升级 9.5p1 保姆级教程

      OpenSSH 的加密功能需要用到OpenSSL,所以在升级OpenSSH的时候,大部分情况是需要将OpenSSL一起升级的。 这里我们选择先升级OpenSSL到OpenSSL 1.1.1w  11 Sep 2023 然后再升级OpenSSH 到OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023 两个都是最新版本,方便大家食用。 在升级之前先将需要的包上传到

    2024年02月08日
    浏览(68)
  • 史诗级详细离线更新centos系统的openssh,升级到9.3p1!!

    前言 一、openssh是什么? 二、更新步骤 1.查看相关组件版本是否存在(代码包已全部打包) 2.进行openssh离线更新 总结(安装时可能出现的问题等)   OpenSSH是 Secure SHell(安全外壳协议,简称SSH)协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件

    2024年02月14日
    浏览(49)
  • Linux Centos7 升级最新版OpenSSH-9.6p1详细步骤(附脚本)

            最近公司系统在进行三级等保测评,其中有一项高危漏洞是Linux服务器的SSH版本太低存在安全风险,要求整改升级到最新版本,此篇文章记录SSH升级步骤和脚本。 鸣谢:本文参考文章,在该作者文章的所提供的脚本基础上进行修改而来:Linux OpenSSH-9.0p1最新版升级

    2024年02月03日
    浏览(55)
  • centos7.5升级openssh9.3p1,openssl1.1.1t

    注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。 一、安装前查看系统及版本 二、安装步骤 1.下载tar包 解压到指定路径: 2.安装zlib 3.安装openssl 4.安装openssh 5.修改配置文件 (1)sshd_config文件修改 需要添加X11Forwarding y

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包