CentOS 7 SSH 升级修复漏洞操作文档

CentOS 7 最新版(CentOS 7.9 2009) 默认 OpenSSH 版本为 7.4p1,OpenSSH 9.3p2 之前版本存在安全漏洞,需升级 OpenSSH 到安全版本避免漏洞。

本文将介绍 OpenSSH 升级到 9.7p1 版本,依赖的 OpenSSL 版本升级到 1.1.1 版本。

1 下载 OpenSSH 9.7p1、OpenSSL 1.1.1安装包;

网盘地址:https://www.123pan.com/s/hXKSVv-l9YN3.html

2 操作注意

操作前在 SSH 客户端打开两个登录窗口, top 挂前端,以免 SSH 卸载后误操作关闭操作窗口,导致无法登录。

3 升级 OpenSSL

bash 复制代码
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*
 
setenforce 0
 
#创建目录
mkdir -p /app/src
 
#编译安装OpenSSL
cd /app/src
#上传openssl源码包
rz
tar xf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k/
mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl
make && make install
 
#配置OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
 
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 www.baidu.com

4 升级 OpenSSH

bash 复制代码
#安装依赖
yum install -y wget gcc pam-devel libselinux-devel zlib-devel openssl-devel
yum -y install perl
 
cd /app/src
cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd sshd.backup
rpm -e --nodeps `rpm -qa | grep openssh`
 
#安装 openssh
tar -zxvf openssh-9.7p1.tar.gz
cd openssh-9.7p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --without-hardening
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
 
#添加自启服务ssh到开机启动项:
chkconfig --add sshd
chkconfig sshd on
#重启服务:
systemctl restart sshd
#验证结果:
ssh -V
 
vi /etc/ssh/sshd_config
PermitRootLogin yes #这个是允许root登陆
 
systemctl restart sshd
相关推荐
虾..16 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙16 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
hkhkhkhkh12318 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen19 小时前
Linux字符串处理
linux·string
张童瑶19 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功12319 小时前
什么是SELinux
linux
石小千19 小时前
Linux安装OpenProject
linux·运维
柏木乃一19 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-309019 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
百年渔翁_肯肯20 小时前
Linux 与 Unix 的核心区别(清晰对比版)
linux·运维·unix