制作openssh的rpm升級包
1. 檢查本機(jī)openssh版本,查看yum源中最新的版本
ssh -V
yum info openssh
2. 建立目錄下載源碼包
cd /root
mkdir -pv rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz -O rpmbuild/SOURCES/openssh-8.2p1.tar.gz
3. 開始制作
解壓拷貝文件
cd rpmbuild/SOURCES
tar xf openssh-8.2p1.tar.gz
cp openssh-8.2p1/contrib/redhat/openssh.spec ../SPECS
cd ../SPECS/
按需修改以下內(nèi)容:
vi openssh.spec
# Do we want to disable building of x11-askpass? (1=yes 0=no)
%define no_x11_askpass 1
# Do we want to disable building of gnome-askpass? (1=yes 0=no)
%define no_gnome_askpass 1
使用rpmbuild制作rpm包,完成后在RPMS下生成rpm安裝包
rpmbuild -bb openssh.spec
如果提示缺乏依賴,執(zhí)行下載所有依賴包,可以打包上傳到服務(wù)器安裝,這里以openssl-devel舉例
yum install yum-utils -y
yumdownloader openssl-devel --resolve --destdir=../SRPMS
- 升級
mkdir /opt/backup
mv /etc/ssh /opt/backup
cp /etc/pam.d/sshd /opt/backup/sshd.pam
yum -y install ./openssh*.rpm
mv /etc/ssh/sshd_config{,.old_$(date '+%s')}
cat > /etc/ssh/sshd_config << SSHDEOF
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
Subsystem sftp /usr/libexec/openssh/sftp-server
SSHDEOF
mv /etc/pam.d/sshd{,.old_$(date '+%s')}
cp /opt/backup/sshd.pam /etc/pam.d/sshd
service sshd restart
- 驗(yàn)證
ssh -V