本文介绍: Centos 7.9 升级 OpenSSH 到 openssh-9.4p1及openssl-1.1.1k

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下载地址

一、升级opensslopenssl-1.1.1k

1.基础环境

首先,安装基础依赖

yum install -y gcc gccc++ glibc make autoconf openssl openssldevel pcredevel pamdevel wget vim unzip lrzsz

在这里插入图片描述

yum install -y pam* zlib*
在这里插入图片描述

.然后关闭SELinux,随便创建一个源文件目录

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config

setenforce 0
#创建目录
mkdir -p /app/src

2.编译安装OpenSSL

cd /app/src
#上传openssl源码
rz
tar xf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k/
在这里插入图片描述
mkdir /usr/local/openssl
./configprefix=/usr/local/openssl
在这里插入图片描述
make && make install
检查编译安装结果
ls /usr/local/openssl
在这里插入图片描述
配置OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
#默认使用了软连接:/usr/lib64/libssl.so -> libssl.so.1.0.2k
#而真实文件路径则是:/usr/lib64/libssl.so.1.0.2k
unlink /usr/lib64/libssl.so

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so

echo ‘/usr/local/openssl/lib’ >> /etc/ld.so.conf

ldconfig –v

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

在这里插入图片描述
检查OpenSSL升级是否成功
openssl version
在这里插入图片描述
#ping一下看看基础命令是否影响
ping www.baidu.com
在这里插入图片描述

二、升级 OpenSSH 到 openssh-9.4p1

openssh-9.4p1下载地址
修复方案:需确认机器已安装的软件包中不存在低版本openssh组件,如可通过执行命令rpm -qa | grep openssh查看组件版本
准备工作
安装编译所需依赖软件包
yum install -y wget gcc pam-devel libselinuxdevel zlib-devel openssl-devel

yum -y install perl
下载 OpenSSH 安装包上传服务器或 wget 直接下载

cd /app/src
wget -O openssh.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

备份配置文件 一般卸载的时候都会把配置文件sshd_config.rpmsave方式另存一份,但是**/etc/pam.d/sshd**这个配置文件没有另存,所以建议都备份一下。
cp /etc/ssh/sshd_config sshd_config.backup

cp /etc/pam.d/sshd sshd.backup
删除版本OpenSSH的的rpm

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

安装openssh
解压:
tar -zxvf openssh.tar.gz
cd openssh-9.4p1
编译配置:
./configureprefix=/usr –sysconfdir=/etc/ssh –withmd5-passwords –with-pam –with-zlib –with-tcp-wrappers –with-ssl-dir=/usr/local/openssl –without-hardening
(注意:dir=/usr/local/openss,在编译安装SSL的时候创建过一个文件夹路径lmkdir /usr/local/openssll,路径一定要正确!!!)
在这里插入图片描述

编译安装:
make && make install
在这里插入图片描述

配置:调整文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd
还原配置文件

mv ../sshd.backup /etc/pam.d/sshd
mv ../sshd_config.backup /etc/ssh/sshd_config

添加添加自启服务ssh到开机启动项:
chkconfig —add sshd
chkconfig sshd on
重启服务
systemctl restart sshd
验证结果
查看下安装结果
ssh -V

运行结果
在这里插入图片描述

到此,升级基本完成。安全起见不要关闭SSH窗口,新增一个SSH连接看看能否正常登录。如果不能登录可以根据 sshd 的日志进行配置调整。

备注升级后不能立即断开连接否则无法重连(解决办法):
vi /etc/ssh/sshd_config
PermitRootLogin yes #这个是允许root登陆

在这里插入图片描述
上面的配置文件/etc/ssh/sshd_config中UsePAM yes注释#UsePAM yes
在这里插入图片描述
重启服务重连
systemctl restart sshd

原文地址:https://blog.csdn.net/weixin_43741718/article/details/132583582

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_9897.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注