centos 7 制作openssh8.7/8.8/8.9/9.0/9.1/9.2/9.3 p1 rpm包升级——筑梦之路

使用源码制作openssh 8.7p1 的rpm包

准备:

操作系统:centos 7 x86_64 minal
工具软件:rpm-build
源码文件:openssh-8.7p1.tar.gz  x11-ssh-askpass-1.2.4.1.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

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz

#安装依赖包

yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel xmkmf libXt-devel gtk2-devel make -y

#初始化rpm制作环境
rpmbuild -ba openssh.spec

#拷贝源码包到响应目录
cp openssh-8.7p1.tar.gz  x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES

#解压源码包 拷贝openssh.spec进行修改

cp openssh-8.7p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/

或者提取已有包的spec文件
rpmrebuild -e -p --notest-install  xxx.rpm

执行命令,这时候会打开一个spec的vim文件,我们使用vim的另存为将它保存下来(shift+: w文件名)

注释#BuildRequires: openssl-devel < 1.1

#制作rpm包

rpmbuild -ba openssh.spec

待制作完成,生成的rpm包在目录/root/rpmbuild/RPMS/x86_64/
openssh-askpass-8.7p1-1.el7.x86_64.rpm
openssh-debuginfo-8.7p1-1.el7.x86_64.rpm
openssh-8.7p1-1.el7.x86_64.rpm  
openssh-askpass-gnome-8.7p1-1.el7.x86_64.rpm  
openssh-server-8.7p1-1.el7.x86_64.rpm   
openssh-clients-8.7p1-1.el7.x86_64.rpm

#只需要三个包即可
openssh-server-8.7p1-1.el7.x86_64.rpm   
openssh-clients-8.7p1-1.el7.x86_64.rpm
openssh-8.7p1-1.el7.x86_64.rpm

########安装升级测试###################################################################

yum localinstall ./*.rpm

#重启服务
systemctl restart sshd

#授权
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config  #允许root远程登录

#配置认证
cat /etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
## pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
## pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

#重启服务
systemctl restart sshd && systemctl enable sshd


-------------------------------------------------------------------------------------
2022年4月8日 openssh 9.0发布

所有版本源码下载地址:
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/

#根据实际情况使用

chmod 400 /etc/ssh/ssh_host_* 
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
sed -i '/\#Port 22/a Port 1022' /etc/ssh/sshd_config 

------------------------------------------------------------------------------------
2022年10月4日  openssh 9.1 发布

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.1p1.tar.gz

注意:我这边所有的操作系统都是最小化安装,并在我的环境里面经过测试验证的,由于各种环境有所区别,请根据自己实际情况,测试好之后再上生产,若自己操作不当,造成服务器失联请自行承担后果!!!

相关源码以及制作好的rpm包见我的资源

2021年9月29日 已经更新openssh8.8p1

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

制作完成的rpm包见我的资源,使用教程如上所示

该教程同样适用于centos 6 

已经制作适合centos 6 redhat 6系列系统的openssh 8.7  8.8 8.9 rpm包,详情见我的资源

2022年3月4日 已经更新openssh8.9p1

https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz

openssh-8.9p1-1.el7.x86_64.tar.gz-Linux文档类资源-CSDN下载oepnssh最新版本8.9p1rpm包适用于centos7rhel系统安装升级更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_34777982/83373948

2022年4月8日 发布新版openssh 9.0p1

openssh-9.0p1-1.el7.x86_64.tar.gz-Linux文档类资源-CSDN下载

------------------------------------------------------------------------------------------

2022年10月4日 发布新版本openssh 9.1p1

openssh9.1p1-el9-x86-64.tgz-Linux文档类资源-CSDN下载

https://download.csdn.net/download/qq_34777982/86792426

适用于centos 7 rhel7的ssh-copy-id,版本openssh 9.1p1

CentOS 7 x86_84下ssh-copy-id脚本-openssh9.1p1——筑梦之路_筑梦之路的博客-CSDN博客

openssh 9.2p1版本的rpm包见我最新的资源

其他说明:

若要不生成ask相关的rpm包,可参考以下操作:


cd /root/rpmbuild/SPECS/

#不生产ask包
sed -i -e "s/%global no_gnome_askpass 0/%global no_gnome_askpass 1/g" openssh.spec
sed -i -e "s/%global no_x11_askpass 0/%global no_x11_askpass 1/g" openssh.spec

#修改openssl-devel的报错
sed -i '/openssl-devel < 1.1/s/^/#/' openssh.spec

#修改PreReq的报错
sed -i '/PreReq:/s/^/#/' openssh.spec

openssh 9.4及以上版本需要依赖openssl 1.1.1及以上版本,请参考博客文章:CentOS 7 源码制作openssh 9.4p1/9.5p1 rpm包 —— 筑梦之路-CSDN博客

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/120048044#comments_30151073