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
相关推荐
Kang强24 分钟前
tcpdump 抓到 icmp 包,但是抓不到 tcp 包??
linux
demodashi66628 分钟前
Linux下ag搜索命令详解
linux·运维·windows
無识1 小时前
Linux-第四章web服务
linux·运维·服务器
一叶知秋yyds1 小时前
Centos 安装 Docker教程
linux·docker·centos
fie88891 小时前
在CentOS 7上集成cJSON库的方法
linux·运维·centos
带土11 小时前
5. Unix/Linux 系统常用类型别名清单
linux·unix
爱吃橘的橘猫1 小时前
如何解决VMware虚拟机中Linux系统终端不显示ens33 inet IP地址的问题
linux·运维·服务器·虚拟机
梁正雄2 小时前
linux服务-Bonding网卡绑定工具
linux·运维·linux bonding·网卡绑定
云边有个稻草人2 小时前
Windows 里用 Linux 不卡顿?WSL + cpolar让跨系统开发变简单
linux·运维·服务器·cpolar
打不了嗝 ᥬ᭄2 小时前
【Linux】网络层协议
linux·网络·c++·网络协议·http