rpm包方式升级OpenSSL8.0版本
程序员文章站
2022-07-08 16:44:57
...
centos7.x默认采用的是OpenSSH_7.4p1这个版本,但是有些漏洞扫描设备扫描出OpenSSH_7.4p1版太低,不安全类似的问题,解决方式呢,就是升级OpenSSL更高版本,考虑到 不是一两台服务器,使用源码包方式安装太费劲了,建议使用rpm包导入后直接安装。
建议先安装telnet服务 到最后不至于连服务器都连不上了!!
1、安装rpm-build和openssh依赖包
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y
2、创建目录
mkdir -p /root/rpmbuild/{SOURCES,SPECS}
cd /root/rpmbuild/SOURCES
3、按照需求上外网下载对应版本
下载源
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz
4、解压包和其他操作 负责粘贴即可
tar zxvf openssh-8.0p1.tar.gz openssh-8.0p1/contrib/redhat/openssh.spec
openssh-8.0p1/contrib/redhat/openssh.spec
cp openssh-8.0p1/contrib/redhat/openssh.spec ../SPECS/
chown sshd:sshd /root/rpmbuild/SPECS/openssh.spec
cp /root/rpmbuild/SPECS/openssh.spec /root/rpmbuild/SPECS/openssh.spec_def
5、修改openssh.spec文件
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" /root/rpmbuild/SPECS/openssh.spec
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" /root/rpmbuild/SPECS/openssh.spec
6、生成rpm包
cd /root/rpmbuild/SPECS/
rpmbuild -ba openssh.spec
//生成时报错
error: Failed build dependencies:
openssl-devel < 1.1 is needed by openssh-8.0p1-1.el7.x86_64
//解决方法:
[[email protected] SPECS]# pwd
/root/rpmbuild/SPECS
[[email protected] SPECS]# vi openssh.spec
#BuildRequires: openssl-devel < 1.1 //定位到这行 注释掉即可!
编译完成后,会产生4个rpm包,放在/root/rpmbuild/RPMS/x86_64目录下。在服务器上,创建一个openssh文件夹,把这四个包拷贝过来,执行yun -y install ./* 即可。
7、安装测试
[[email protected] x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
[[email protected] x86_64]# yum -y install *
[[email protected] x86_64]# ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2k-fips 26 Jan 2017
//权限设置
cd /etc/ssh/
chmod 400 ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
//openssh8.0版本默认root不可用远程登入,编辑配置文件配置允许root远程登入
vi /etc/ssh/sshd_config
..... //添加或者更改为下面内容即可!
PubkeyAuthentication yes
PasswordAuthentication yes
PermitRootLogin yes
.....
[[email protected] ~]# sshd -t
[[email protected] ~]# systemctl restart sshd
//最后一步 openssh会受selinux的限制 所以要关闭selinux
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
最后测试连接的时候一定要多打开几个窗口 以防万一root用户登不上,或者安装telnet服务,别把自己害了,给多留点后路!!
最后送上 openssh8.0的rpm包,上面构建openssh8.0没有成功的小伙伴可直接下载rpm包,导入后yun -y install ./* 即可。rpm包提取码:1111