Centos7如何升级openssl和openssh最新版

 更新时间:2025年06月08日 16:18:56   作者:Aspire to freedom  
这篇文章主要介绍了Centos7如何升级openssl和openssh最新版的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、事前准备

下载openssl3.4.1和openssh9.9p2压缩包上传到服务器

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable//

Release OpenSSL 3.4.1 · openssl/openssl · GitHub

2、查看centos7、ssh以及openssl的版本信息

# 查看CentOS系统版本信息
cat /etc/redhat-release
# 查看openssl版本信息
openssl version
# 查看openssh的版本信息
ssh -V

3、安装依赖

yum -y install gcc pam-devel zlib-devel openssl-devel net-tools
yum install -y perl-IPC-Cmd perl-Data-Dumper

4、安装openssl-3.4.1版本

(1)解压openssl-3.4.1压缩包

tar zxvf openssl-3.4.1.tar.gz -C /usr/local/
cd /usr/local/openssl-3.4.1/
mkdir /opt/openssl

(2)编译安装openssl-3.4.1

./config --prefix=/opt/openssl
make -j4 && make install   ###-j后面的数字为你的内核数

(3)更新lib文件

ldd /opt/openssl/bin/openssl
echo "/opt/openssl/lib" >> /etc/ld.so.conf
echo "/opt/openssl/lib64" >> /etc/ld.so.conf
echo "/usr/local/openssl-3.4.1" >> /etc/ld.so.conf
ldconfig -v
ldd /opt/openssl/bin/openssl

(4)更新bin文件

# 查看旧版本的openssl命令路径
which openssl
# 重命名为openssl.old
mv /usr/bin/openssl /usr/bin/openssl.old   #重命名openssl文件
# 使用软连接的方式更新openssl命令
ln -s /opt/openssl/bin/openssl /usr//bin/openssl
# openssl命令查看版本呢
openssl version

5、编译安装openssh9.9p2

(1)解压缩openssh9.9p2压缩包

# 卸载openssh的rpm包
for i in $(rpm -qa | grep openssh);do rpm -e $i --nodeps;done
# 解压缩openssh9.7p1包到目标目录
cd ~
tar zvxf openssh-9.9p2.tar.gz -C /usr/local/
# 进入openssh9.7p1的源码目录
cd /usr/local/openssh-9.9p2/
# 安装前查看一下安装文件INSTALL(建议看一下)
more INSTALL

(2)编译安装openssh9.9p2

# 配置编译和安装过程,"--prefix=" 配置安装目录,"--sysconfdir=" 配置文件路径,"--with-ssl-dir=" openssl的安装路径
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/opt/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening

chmod 600 /etc/ssh/ssh_host_*_key
chown root:root /etc/ssh/ssh_host_*_key

make -j4 && make install

(3)复制并修改启动sshd.init脚本

# 从源码目录下复制sshd.init到/etc/init.d/
cp /usr/local/openssh-9.9p2/contrib/redhat/sshd.init /etc/init.d/

## 查看并修改SSHD的新路径,将新的openssh安装路径更新
cat /etc/init.d/sshd.init | grep SSHD
sed -i "s/SSHD=\/usr\/sbin\/sshd/SSHD=\/usr\/local\/openssh\/sbin\/sshd/g" /etc/init.d/sshd.init
cat /etc/init.d/sshd.init | grep SSHD

## 查看并修改ssh-keygen的新路径,将新的ssh-keygen安装路径更新
cat -n /etc/init.d/sshd.init | grep ssh-keygen
sed -i "s#/usr/bin/ssh-keygen -A#/usr/local/openssh/bin/ssh-keygen -A#g" /etc/init.d/sshd.init
cat -n /etc/init.d/sshd.init | grep ssh-keygen

(4)修改配置文件(sshd_config)

# 开启允许X11转发
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config 
# 开启允许密码验证
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config 

(5)启动openssh,并设置开机启动

# 复制ssh的相关命令
cp -arp /usr/local/openssh/bin/* /usr/bin/
# 启动sshd服务
/etc/init.d/sshd.init start
# 查看版本
ssh -V
# 添加开机启动
chmod +x /etc/rc.d/rc.local
echo "/etc/init.d/sshd.init start" >> /etc/rc.d/rc.local  
systemctl enable --now rc-local

(6)测试openssh连接

使用ssh协议连接centos7,检查openssh9.9p2服务

重启系统后ssh协议登录centos7,检查openssh9.9p2自动启动

6、检查系统、openssl和openssh的版本信息

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux下日志定时轮询的流程详解

    linux下日志定时轮询的流程详解

    这篇文章主要给大家介绍了关于在linux下日志定时轮询流程的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • CentOS7 curl版本升级过程

    CentOS7 curl版本升级过程

    文章主要介绍了如何在CentOS 6.8系统上升级curl到最新版本7.53.1,首先查看当前curl版本,然后更新ca-bundle,新增repo源,最后使用命令直接更新curl并验证版本
    2026-01-01
  • Ubuntu16.04源码安装Mininet

    Ubuntu16.04源码安装Mininet

    今天小编就为大家分享一篇关于Ubuntu16.04源码安装Mininet,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 详解Linux查看实时网卡流量的几种方式

    详解Linux查看实时网卡流量的几种方式

    本篇文章中主要介绍了详解Linux查看实时网卡流量的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Centos下安装Ansible的示例代码

    Centos下安装Ansible的示例代码

    本篇文章主要介绍了Centos下安装Ansible的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Linux如何查看进程栈信息示例

    Linux如何查看进程栈信息示例

    本篇文章主要介绍了Linux如何查看进程栈信息示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Linux sudo 漏洞可能导致未经授权的特权访问

    Linux sudo 漏洞可能导致未经授权的特权访问

    sudo 命令中最近发现了一个严重漏洞,如果被利用,普通用户可以 root 身份运行命令,在 Linux 中利用新发现的 sudo 漏洞可以使某些用户以 root 身份运行命令,感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • Linux gzip命令压缩文件实现原理及代码实例

    Linux gzip命令压缩文件实现原理及代码实例

    这篇文章主要介绍了Linux gzip命令压缩文件实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • linux隐藏文件实现打开查看

    linux隐藏文件实现打开查看

    本文详细介绍了在Linux系统中查看隐藏文件的方法,包括图形界面(如Ctrl+H快捷键和菜单操作)和命令行(如ls -a和ls -la命令),并举例说明了如何查看和编辑隐藏文件内容
    2025-12-12
  • Apache自带的ab压力测试工具的实现

    Apache自带的ab压力测试工具的实现

    本文主要介绍了Apache自带的ab压力测试工具的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论