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
相关推荐
忆挽篱笙歌11 分钟前
冯诺依曼+操作系统+进程
linux·ubuntu
Apipi*1 小时前
30天速通Linux 第九章Linux网络编程
linux·运维·网络
报错小能手1 小时前
Channel面试题。Sync面试题
linux·服务器·windows
xiaoqiMikko2 小时前
Linux 实战(五):DNS、hosts、CLOSE-WAIT、SSH 权限与改端口 —— 三台真机实测
linux·centos
Linux-lucky2 小时前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
yv798an2 小时前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux
不悔哥2 小时前
Linux系统编程多线程程序如何安全退出
linux
Fcy6483 小时前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
‎ദ്ദിᵔ.˛.ᵔ₎4 小时前
linux 进程信号(下)
linux·运维·服务器
skywalk81635 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro