- 由於安全掃描出ssh的漏洞,需要升級ssh 一臺一臺編譯安裝比較慢。所以把源碼包做成rpm包方便安裝使用
-
下載源碼包
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz wget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz
- 製作6系統使用的包,在六系統上製作,製作7系統使用的包。在7系統上面製作,下載相關依賴包
yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y
4.創建所需目錄
mkdir -p /root/rpmbuild/{SOURCES,SPECS}
- 把所需的包拷貝到該目錄下面
cp openssh-8.1p1.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOUR/SPECS/CES tar xf openssh-8.1p1.tar.gz cp openssh-8.1p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS
5.修改配置文件
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec
- 構建包
rpmbuild -ba openssh.spec 編譯過程遇到的錯誤: 錯誤:構建依賴失敗: openssl-devel < 1.1 被 openssh-8.0p1-1.el7.x86_64 需要 解決:[root@localhost SPECS]# vim openssh.spec 註釋掉 BuildRequires: openssl-devel < 1.1 這一行
- 安裝包
rpm包 在rpmbuild/RPMS/x86_64 yum install -y ./openssh-* 或者rpm安裝 yum 安裝可以自動解決依賴,推薦使用 建議升級前開啓telnet 服務,如果升級失敗,可以回滾。
- 重啓服務。測試連接
service sshd restart 6
systemctl start sshd
- 如果連接不上。就試着修改一下配置文件
PermitRootLogin yes 允許root登陸 PasswordAuthentication yes 允許使用密碼登陸
參考博文
https://blog.csdn.net/ansible328/article/details/103016616 https://www.cnblogs.com/fsckzy/p/10834550.html