因漏洞需要升级openssh的时候一般需要依赖同时升级openssl服务;
**********尽量对机器先做快照备份**********
**********多开一个xshell 留好root 连接session,删除文件后更新成功前无法新建ssh连接**********
下载链接:
[ Downloads ] - /source/index.html
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
升级所需的离线文件包已放在部门ftp:
- 升级openssl时,先查询机器当前已安装的程序
rpm -qa | grep openssl
卸载(--nodeps 强制)2项
rpm -e --nodeps openssl-0.9.*
rpm -e --nodeps openssl-devel-0.9.*
删除两个映射目录:
rm -rf /usr/bin/openssl
rm -rf /usr/include/openssl
取离线安装包openssl-3.0.13.tar.gz,放置在 /usr/local/
解压缩
tar -zxvf openssl-3.0.13.tar.gz
进入解压缩目录
cd openssl-3.0.13/
配置openssl安装目录
./config --prefix=/usr/local/openssl
编译&&安装
make && make install
创建软链接
创建的软链接和之前没升级通过whereis openssl保持一致即可。
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
添加动态链接库数据
echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
检查添加结果
cat /etc/ld.so.conf
更新动态链接库:ldconfig -v
查看openssl版本 openssl version -a 版本为升级后的,完成openssl升级。
- 升级openssh,先查询机器当前已安装的程序
rpm -e --nodeps `rpm -qa | grep openssh`
解压缩
tar -zxvf openssh-9.6p1.tar.gz
Cd切换路径
cd openssh-9.6p1
初始化openssh
./configure --prefix=/usr/local/openssh9p6 --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-zlib
这一步如果有报错,说明openssl安装可能存在问题,重新检查安装过程
编译安装
make -j 4
make install
这一步如果有报错,同样说明openssl安装可能存在问题,重新检查安装过程
复制新的配置文件到原来目录
cp /usr/local/openssh9p6/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh9p6/bin/ssh /usr/bin/ssh
cp /usr/local/openssh9p6/bin/ssh-keygen /usr/bin/ssh-keygen
cp -p /usr/local/openssh-9.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
添加权限
chmod +x /etc/init.d/sshd
修改sshd_config文件(重要*)
vi /etc/ssh/sshd_config
PermitRootLogin yes 、
PubkeyAuthentication yes、
PasswordAuthentication yes
将配置文件中这几个改为yes,其中PermitRootLogin 需要手工修改,其他两项去掉注释即可
备注说明:
PermitRootLogin yes:允许root用户通过SSH登录到系统
PubkeyAuthentication yes:启用公钥身份验证
PasswordAuthentication yes:启用密码身份验证
开启开机自启sshd
systemctl enable sshd
重启sshd
systemctl restart sshd
验证是否成功
sshd -V
感谢参考来源: