CentOS 7离线升级openssl和openssh

本文档详细介绍了如何在CentOS7系统中离线升级OpenSSL和OpenSSH。首先,关闭SELINUX,然后逐个安装依赖包、升级OpenSSL并创建必要的符号链接。接着,备份并卸载旧版OpenSSH,编译安装新的OpenSSH版本,并进行配置和启动服务。整个过程旨在提升系统的安全性。
摘要由CSDN通过智能技术生成

CentOS 7离线升级openssl和openssh

仅个人学习分享

相关依赖包

pam-1.1.8-23.el7.x86_64.rpm
pam-devel-1.1.8-23.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
openssl-devel-1.0.2k-19.el7.x86_64.rpm
openssl1.1.1h.tar.gz
openssh8.4p1.tar.gz
zlib-1.2.11.tar.gz

下载地址:

openssl*.tar.gz:https://www.openssl.org/source/
openssh*.tar.gz:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
zlib-*.tar.gz:http://www.zlib.net/

rpm包下载地址
http://rpmfind.net/linux/rpm2html/search.php?query=rpm
搜索条件:
在这里插入图片描述
在这里插入图片描述

1、关闭SELINUX

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
   SELinux status:                 enabled
2、getenforce                 ##也可以用这个命令检查

关闭SELinux:
1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式
                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

2、升级openssl

查看openssl版本和包

openssl version
rpm -qa | grep openssl

卸载openssl包

rpm -e `rpm -qa | grep openssl` --nodeps

安装依赖包

rpm -ivh pam-1.1.8-23.el7.x86_64.rpm --force --nodeps
rpm -ivh pam-devel-1.1.8-23.el7.x86_64.rpm --force --nodeps
rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm --force --nodeps
rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm --force --nodeps
rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm --force --nodeps

安装zlib

tar -zxvf zlib-*.tar.gz
cd zlib-*
./configure
make
make install

编译安装

tar -zxvf openssl*
cd openssl*/
./config --prefix=/usr/local/ssl --shared
make
make install
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig -v


#注意.1.1是当前安装版本
cp -f /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64
cp -f /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64
chmod 555 /usr/lib64/libssl.so.1.1
chmod 555 /usr/lib64/libcrypto.so.1.1
ln -bs /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.11
ln -bs /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so.11
ln -bs /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
ln -bs /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so
ln -bs /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -bs /usr/local/ssl/include/openssl /usr/include/openssl

查看openssl版本

openssl version

3、升级openssh

备份openssh

mkdir /etc/ssh/bak
cp /etc/ssh/ssh* /etc/ssh/bak && cp /etc/ssh/m* /etc/ssh/bak
cp /etc/pam.d/sshd ~   #备份/etc/pam.d/sshd。

卸载openssh包

rpm -e `rpm -qa | grep openssh` --nodeps

升级openssh

chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

tar -zxvf openssh*
cd openssh*/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
make 
make install

安装完成,执行配置

#恢复/etc/pam.d/sshd
mv ~/sshd /etc/pam.d/sshd

cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig  --add  sshd
chkconfig  sshd  on
chkconfig  --list  sshd 

编辑/etc/ssh/sshd_config

PermitRootLogin yes
UseLogin yes
UsePam yes  ||  UsePAM yes

重启服务

rm -rf /usr/lib/systemd/system/sshd.service
systemctl daemon-reload
systemctl restart sshd
systemctl status sshd
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值