快速升级OpenSSH8.6的办法
首先: 最终的方法
创建一个文件夹,并且设置好一个启动脚本.
内容主要如下:
├── rpm
│ ├── openssh-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-clients-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-clients-debuginfo-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-debuginfo-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-debugsource-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-server-8.6p1-1.el8.x86_64.rpm
│ ├── openssh-server-debuginfo-8.6p1-1.el8.x86_64.rpm
│ └── sshd_config
└── update.sh
设置的update.sh也比较简单
cd rpm
rpm -Uvh *.rpm
echo "开始修改策略"
chmod 400 /etc/ssh/ -R
cat <<EOF>/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
EOF
scp sshd_config /etc/ssh/
echo "重启服务"
systemctl restart sshd
ssh -V
echo "!-_-!"
第一步: 下载必要的文件
上openssh的官网, 下载最新版本的openssh
最新的版本为 openssh8.6p1
在 CentOS7和CentOS8上面安装rpmbuild等工具.
第二步 安装rpmbuild以及进行设置
1. 安装rpmbuild
yum install rpm-build -y
2. 创建必备的目录
mkdir -p /root/rpmbuild/{SPECS,SOURCES,RPMS}
3. 修改openssh 里面的 spec文件并且进行处理.
解压缩openssh.tar.gz 内的文件, 将 /contrib/redhat/openssh.spec
复制到 /root/rpmbuild/SPECS/openssh.spec
注意需要修改一下 如下三个配置:
%global no_x11_askpass 1
%global no_gnome_askpass 1
#BuildRequires: openssl-devel < 1.1
#注意将 最后一个配置文件注释掉.
注意为了编译openssh 还需要安装多个软件
yum install openssl-devel krb5-devel pam-devel -y
第三步 编译成rpm包
rpmbuild -bb openssh.spec
很快就就能够形成rpm包了
[root@centos76oracle19c x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
[root@centos76oracle19c x86_64]# ll
总用量 4700
-rw-r--r-- 1 root root 666868 6月 23 23:32 openssh-8.6p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 632928 6月 23 23:32 openssh-clients-8.6p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 3045392 6月 23 23:32 openssh-debuginfo-8.6p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 459624 6月 23 23:32 openssh-server-8.6p1-1.el7.x86_64.rpm
在使用最上面的配置文件 就可以一键在centos7 上面进行openssh的升级了.
需要注意的是 centos8 以及 arm版本的 需要在重新编译一遍才可以.