openssh8.2制作rpm包

简介: 虚机openssh升级打补丁

openssh8.2制作rpm包
1、由于安全扫描出ssh的漏洞,需要升级ssh 一台一台编译安装比较慢。所以把源码包做成rpm包方便安装使用
2、下载源码包

1.png

3、制作6系统使用的包,在六系统上制作,制作7系统使用的包。在7系统上面制作,下载相关依赖包
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y
4.创建所需目录
mkdir -p /root/rpmbuild/{SOURCES,SPECS}
把所需的包拷贝到该目录下面
cp openssh-8.2p1.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES
2.png

tar xf openssh-8.2p1.tar.gz
cp /root/rpmbuild/SOURCES/openssh-8.2p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS
3.png

5.修改配置文件
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec

构建包
rpmbuild -ba openssh.spec
编译过程遇到的错误:
错误:构建依赖失败: openssl-devel < 1.1 被 openssh-8.0p1-1.el7.x86_64 需要
解决:[root@localhost SPECS]# vim openssh.spec 注释掉 BuildRequires: openssl-devel < 1.1 这一行

构建包可能遇到如下问题:
检查未打包文件:/usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/openssh-8.2p1-1.el7.centos.x86_64错误:发现已安装(但未打包的)文件: /usr/libexec/openssh/ssh-sk-helper /usr/share/man/man8/ssh-sk-helper.8.gzRPM 构建错误: 发现已安装(但未打包的)文件: /usr/libexec/openssh/ssh-sk-helper /usr/share/man/man8/ssh-sk-helper.8.gz
问题说明:
大意是在SPEC最后make install时少COPY一些文件,我们可以手动在SPEC中把文件路径加上。
解决方案:
在spec文件中,找到%files(之下有很多%{_bindir}、%{_libdir}、%{_datadir}的),在其下依葫芦画瓢的添加上面提示的内容。
/usr/bin/xxx => %{_bindir}/xxx
/usr/lib/xxx => %{_libdir}/xxx
/usr/include/xxx => %{_includedir}/xxx
/usr/share/xxx => %{_datadir}/xxx
/usr/man/xxx => %{_mandir}/xxx

重新执行结果:

在/root/rpmbuild/RPMS/x86_64目录下可以看到转化后的RPM包

对rpm安装包进行测试
把生成的rpm包上传至测试服务器,解压

yum install -y ./openssh-*

特别注意:
升级完成后,需要检查sshd服务的状态,发现sshd状态异常,重启报错;
解决办法:
1)把/etc/ssh/目录下的ssh_host相关的算法文件全部删除

    #rm -rf ssh_host_*
   2)#systemctl daemon-reload
   3)#systemctl restart sshd

重启完成后,利用别的服务器远程连接此服务器,报host_key认证有问题:
检查升级完成后的服务器的/etc/pam.d/sshd文件发现比原来少了很多参数

升级前的/etc/pam.d/sshd文件

把升级前的文件内容,拷到升级后的对应的文件中,修改sshd服务的配置
PermitRootLogin yes 允许root登陆
PasswordAuthentication yes 允许使用密码登陆

  #systemctl restart sshd

重启sshd服务问题得到解决

相关文章
|
6月前
|
安全 Linux 数据安全/隐私保护
openssh有rpm包吗?
【4月更文挑战第14天】openssh有rpm包吗?
591 0
|
6月前
|
缓存 应用服务中间件 Linux
RPM安装包制作
RPM安装包制作
67 0
|
6月前
|
C语言
软件管理rpm与yum
软件管理rpm与yum
|
Linux
CentOS7下制作OpenSSH 8.4p1 RPM包
CentOS7下制作OpenSSH 8.4p1 RPM包
332 0
CentOS7下制作OpenSSH 8.4p1 RPM包
|
关系型数据库 MySQL Linux
rpm包和rpm工具
rpm包和rpm工具
430 0
|
关系型数据库 MySQL Linux
RPM包和rpm工具
RPM包和rpm工具
252 0