麒麟v10系统arm64架构openssh9.5p1安装
麒麟v10系统arm64架构openssh9.5p1安装
- 制作openssh
- 说明
- 准备文件
- 制作命令过程
- 更新ssh过程
制作openssh
说明
理论上制作的多个rpm在arm64架构(aarch64)都适用
系统信息:4.19.90-17.ky10.aarch64 GNU/Linux
升级前备份好文件/etc/ssh、/etc/pam.d等以及开启telnet
升级后确认正常后关闭telnet。
备注:
原版本:OpenSSH_7.8p1, OpenSSL 1.1.1d 10 Sep 2019
执行yum update -y后,版本为OpenSSH_8.2p1, OpenSSL 1.1.1f
所以制作的版本ssh显示的openssl为1.1.1f,如果非这个版本的openssl,也可以安装,根据经验仅影响ssh -V的版本显示。因为没有更新openssl,实际的openssl version查看的还是原来的openssl版本。
准备文件
x11-ssh-askpass-1.2.4.1.tar.gz
openssh-9.5p1.tar.gz
制作命令过程
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel xmkmf libXt-devel gtk2-devel make -y
cp x11-ssh-askpass-1.2.4.1.tar.gz openssh-9.5p1.tar.gz /root/rpmbuild/SOURCES
#只解压 openssh.spec到 /root/rpmbuild/SPECS目录
cd /root/rpmbuild/SPECS
tar -xzvf ../SOURCES/openssh-9.5p1.tar.gz openssh-9.5p1/contrib/redhat/openssh.spec --strip-components=3
#修改openssh.spec配置文件
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
sed -i -e "s/^BuildRequires: openssl-devel < 1.1/#BuildRequires: openssl-devel < 1.1/g" openssh.spec
sed -i -e '/with-privsep-path/a\ --with-openssl-includes=/usr/local/openssl/include \\\n --with-ssl-dir=/usr/local/openssl \\' openssh.spec
rpmbuild -ba openssh.spec
ls /root/rpmbuild/RPMS/aarch64/
cd /root/rpmbuild/RPMS/aarch64/
#打包rpm文件
tar -czvf /tmp/openssh-9.5p1-1.ky10.aarch64-rpm.tar.gz *
制作后的rpm包链接(设置了5积分,希望是动动手丰衣足食,留言我发也行,只是我很少上来)
https://download.csdn.net/download/weixin_43723044/88588362
更新ssh过程
## 麒麟v10 arm64-openssh安装
###开启telnet
yum install telnet xinetd -y
systemctl start telnet.socket&&systemctl start xinetd.service
#==============================================================
#安装前先备份ssh
cp -pr /etc/ssh /etc/ssh_$(date -I)/
cp -pr /etc/pam.d /etc/pam.d_$(date -I)/
yum localinstall /root/rpmbuild/RPMS/aarch64/*.rpm
cp /etc/pam.d/sshd /tmp/etc-pamd-sshd
cp /etc/pam.d_$(date -I)/sshd /etc/pam.d/sshd
chmod -R 600 /etc/ssh/*
systemctl restart sshd
#确认ssh正常后再关闭telnet
systemctl stop telnet.socket&&systemctl stop xinetd.service