Linux:升级OpenSSL和OpenSSH

devtools/2024/11/13 9:10:16/

原因是现有版本存在安全漏洞,需要升级到新版本

原有版本和升级后的版本

OpenSSL 1.0.2k-fips  26 Jan 2017
->
OpenSSL 1.1.1w  11 Sep 2023OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
->
OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023

目录

    • 查看现有版本
    • 安装 telnet
    • 安装OpenSSH依赖包
    • 下载安装包
    • 安装OpenSSL
    • 安装OpenSSH
    • 问题和解决办法
    • 参考文章

查看现有版本

# 查看系统版本
# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)# 查看OpenSSL版本
# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017# 查看OpenSSH版本
# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

安装 telnet

防止因卸载OpenSSH而导致无法登录主机

# 安装 telnet
yum -y install telnet telnet-server# 启动 telnet
systemctl enable telnet.socketsystemctl start telnet.socket# 关闭安全文件
mv /etc/security /etc/security.bak

确认openssh升级成功,连接无异常后卸载telnet服务

# 升级完毕后,开启安全文件
mv /etc/security.bak /etc/securityyum -y remove telnet telnet-server

安装OpenSSH依赖包

yum -y install gcc keyutils-libs rpm-build krb5-devel libcom_err-devel libselinux-devel pam-* openssl-devel pkgconfig vsftpd zlib*

下载安装包

https://www.openssl.org/source/old/

https://www.openssh.com/portable.html#downloads

安装OpenSSL

./config shared --prefix=/usr/local/openssl-1.1.1wmake && make install# 检查安装情况
/usr/local/openssl-1.1.1w/bin/openssl version
OpenSSL 1.1.1w  11 Sep 2023

安装OpenSSH

./configure --prefix=/usr/local/openssh-9.5p1 --with-ssl-dir=/usr/local/openssl-1.1.1w
make && make install# 检查安装情况
/usr/local/openssh-9.5p1/sbin/sshd -V
OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023

修改配置(重要)

# /usr/local/openssh-9.5p1/etc/sshd_config
# 允许root以密码的方式登录
PermitRootLogin yes

开机自启

# /usr/lib/systemd/system/sshd9.service
[Unit]
Description=OpenSSH server daemon
After=network.target[Service]
Type=simple
Environment=LD_LIBRARY_PATH=/usr/local/openssl-1.1.1w/lib
ExecStart=/usr/local/openssh-9.5p1/sbin/sshd -D -f /usr/local/openssh-9.5p1/etc/sshd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target

停止原sshd服务

systemctl stop sshd.servicesystemctl disable sshd.service

备份sshd

mkdir /home/ssh-old-bak
mv /etc/ssh /home/ssh-old-bak/
mv /usr/sbin/sshd /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd-keygen.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd@.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd.socket /home/ssh-old-bak/

启动新版本sshd9服务

systemctl daemon-reload
systemctl start sshd9.service
systemctl status sshd9.service
systemctl enable sshd9.service

问题和解决办法

问题1:openssl 查看version出现报错

# 执行查看版本的时候,提示 libssl.so.1.1 找不到
/usr/local/openssl-1.1.1w/bin/openssl version/usr/local/openssl-1.1.1w/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory## 解决办法
ln -s /usr/local/openssl-1.1.1w/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl-1.1.1w/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

参考文章

  • Gmssl编译问题: error while loading shared libraries: libssl.so.1.1: cannot open shared object file
  • 如何平滑升级openssh,不影响root远程登录?

http://www.ppmy.cn/devtools/24448.html

相关文章

Web3与智能合约:科技革新下的新金融时代

在当今数字化时代,Web3和智能合约正在共同塑造着金融领域的未来。Web3作为下一代互联网的重要组成部分,以其去中心化、安全性和透明性为核心特点,正推动着金融行业向着数字化和去中心化的方向发展。而智能合约作为Web3技术的关键应用之一&…

初探 JUC 并发编程:Java 并发包中并发 List 源码剖析

最近在阅读 《Java 并发编程之美》这本书,感觉学到了很多东西;所以我决定将从事书中学到的思想和一些经典的案例整理成博客的形式与大家分享和交流,如果对大家有帮助别忘了留下点赞和关注捏。 第五部分:Java 并发包中并发 List 源…

Tcp自连接

Tcp自连接 如果客户端和服务端都在同一个环境,并且客户端先于服务端启动,那么很有可能产生自连接的现象。 所谓自连接,就是tcp两端使用了同一个端口进行连接,即localhost:port->localhost:port。 实现自连接 下面提供一个例…

校园安全升级:AR实景监测场景方案

在教育领域,随着校园的逐步对外开放,学校正面临着前所未有的管理挑战。社会人员的大量涌入不仅带来了文化的交流和知识的分享,也给校园安全带来了诸多隐患。新闻报道中不断出现的校园安全事件,如入室伤人、盗窃和非法传销等&#…

北斗、网络时钟服务器(NTP授时服务器)几种设置方法

北斗、网络时钟服务器(NTP授时服务器)几种设置方法 计算机网络必须设立属于主机的NTP服务器,向网内用户提供网络校时服务,使得各种网络设备、服务器、个人计算机等可以通过NTP服务器校正它们自己的时间,用户可使用任何…

webpack 区分环境

区分环境 {ignore} 文章目录 区分环境 {ignore} 有些时候,我们需要针对生产环境和开发环境分别书写webpack配置 为了更好的适应这种要求,webpack允许配置不仅可以是一个对象,还可以是一个函数 module.exports env > {return {//配置内容…

新媒体运营-----短视频运营-----PR视频剪辑----PR特效

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1. 混合和对比度1. 滤色2. 对比度 2. 3d和属性粘贴3. 参考线和锚点 1. 混合和对比度 1. 滤色 混合是PS&#xff…

CTFHub-Web-SSRF

CTFHub-Web-SSRF-WP 一、内网访问 1.题目提示说访问127.0.0.1的flag.php,在URL后面添加路径没想到直接访问成功 二、伪协议读取文件 1.题目提示说访问Web目录下的flag.php,联想到Web目录一般存放于/var/www/html/里,去修改URL尝试进行访问…