前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下制作OpenSSH 8.4p1 RPM包

CentOS7下制作OpenSSH 8.4p1 RPM包

作者头像
yuanfan2012
发布2020-12-31 10:05:51
3K0
发布2020-12-31 10:05:51
举报
文章被收录于专栏:WalkingCloudWalkingCloud

CentOS7下制作OpenSSH 8.4p1 RPM包

1、准备条件

1)openssh-8.4p1.tar.gz源码包

代码语言:javascript
复制
https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

(图片可放大查看)

(图片可放大查看)

2)x11-ssh-askpass-1.2.4.1.tar.gz 源码包

代码语言:javascript
复制
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

(图片可放大查看)

(图片可放大查看)

2、rpm-build以及编译打包环境搭建

代码语言:javascript
复制
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel

(图片可放大查看)

代码语言:javascript
复制
mkdir -p /root/rpmbuild/SOURCES
mkdir -p /root/rpmbuild/SPECS
cp /root/openssh-8.4p1.tar.gz /root/rpmbuild/SOURCES/
cp /root/x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES/
tar -zxf openssh-8.4p1.tar.gz -C /opt
cp /opt/openssh-8.4p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/
chown sshd:sshd /root/rpmbuild/SPECS/openssh.spec 

(图片可放大查看)

3、修改openssh.spec 并进行打包

代码语言:javascript
复制
 vi openssh.spec 

将原先openssh.spec中的

%global no_x11_askpass 0

%global no_gnome_askpass 0

修改为

%global no_x11_askpass 1

%global no_gnome_askpass 1

(图片可放大查看)

并注释掉#BuildRequires: openssl-devel < 1.1

因为openssl安装的版本都低于1.1

(图片可放大查看)

(图片可放大查看)

这时就可以rpmbuild打包了

代码语言:javascript
复制
rpmbuild -ba openssh.spec

打包开始和打包完成时的截图如下

(图片可放大查看)

(图片可放大查看)

4、压缩并下载生成的rpm包

代码语言:javascript
复制
cd /root/rpmbuild/RPMS/x86_64
ll
tar -zcvf openssh-8.4p1_rpm_package.tar.gz *.rpm
sz openssh-8.4p1_rpm_package.tar.gz 

(图片可放大查看)

5、升级openssh 8.4p1进行验证

在另外一台CentOS7.6机器上升级openssh版本

升级前的版本openssh7.4p1

(图片可放大查看)

1)上传解压openssh-8.4p1_rpm_package.tar.gz

代码语言:javascript
复制
cd /opt
tar -zxvf openssh-8.4p1_rpm_package.tar.gz

解压出来的如下4个rpm

(图片可放大查看)

代码语言:javascript
复制
openssh-8.4p1-1.el7.x86_64.rpm    
openssh-clients-8.4p1-1.el7.x86_64.rpm    
openssh-server-8.4p1-1.el7.x86_64.rpm
openssh-debuginfo-8.4p1-1.el7.x86_64.rpm

2)备份配置后rpm -Uvh升级到openssh8.4p1

代码语言:javascript
复制
mkdir /etc/sshconfig_backup
cp /etc/ssh/sshd_config /etc/sshconfig_backup/
cp /etc/pam.d/sshd /etc/sshconfig_backup/pam.d_sshd

rpm -Uvh openssh*.rpm进行手动升级

代码语言:javascript
复制
rpm -Uvh openssh*.rpm

3)还原配置文件

代码语言:javascript
复制
cp /etc/sshconfig_backup/sshd_config /etc/ssh/sshd_config 
cp /etc/sshconfig_backup/pam.d_sshd /etc/pam.d/sshd
并加上PermitRootLogin yes允许root用户登录
sed -i "s/#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep PermitRootLogin
删除/etc/ssh/目录下相关key文件,否则重启sshd服务会报错
rm -rf /etc/ssh/ssh_host_*
service sshd restart

(图片可放大查看)

4)验证openssh版本信息

代码语言:javascript
复制
ssh -V
rpm -qa | grep openssh

如下图所示说明升级成功

(图片可放大查看)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS7下制作OpenSSH 8.4p1 RPM包
    • 1、准备条件
      • 2、rpm-build以及编译打包环境搭建
        • 3、修改openssh.spec 并进行打包
          • 4、压缩并下载生成的rpm包
            • 5、升级openssh 8.4p1进行验证
              • 1)上传解压openssh-8.4p1_rpm_package.tar.gz
              • 2)备份配置后rpm -Uvh升级到openssh8.4p1
              • 3)还原配置文件
              • 4)验证openssh版本信息
          相关产品与服务
          SSL 证书
          腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档