centos7 rpmbuild打包openssh8.0p1並升級

此文檔提供方法爲官方源碼build成rpm後,用rpm進行升級,在Centos7.5.1804下實現,其他環境未經測試。

1.Rpmbuild打包

 

Rpmbuild環境要與目標環境一樣(即在centos7.5.1804上編譯)

 

#安裝依賴

yum install rpm-build pam-devel zlib zlib-devel perl krb5-devel pam-devel gcc make wget libX11-devel xmkmf libXt-devel initscripts -y

yum install openssl openssl-devel -y

#創建編譯目錄

mkdir -p ~/rpmbuild/{SOURCES,SPECS} && cd ~/rpmbuild/SOURCES/

#下載源碼包和依賴包

wget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz

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

tar xf openssh-8.0p1.tar.gz

#拷貝配置文件

cp openssh-8.3p1/contrib/redhat/openssh.spec ~/rpmbuild/SPECS/

cd ~/rpmbuild/SPECS/

#修改配置文件

sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec

sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec

#編譯

rpmbuild -ba openssh.spec

#如果編譯過程中報openssl-devel的問題,可以下面註釋掉依賴

sed -i 's/BuildRequires: openssl-devel < 1.1/#BuildRequires: openssl-devel < 1.1/g' openssh.spec

2. 安裝包說明

[root@testserver3 tmp]# ll

total 8300

-rw-r--r--. 1 root root 4034560 Jan  8 11:13 openssh-8.0p1-1.el7.offline.tar  #U盤攜帶包

-rw-r--r--. 1 root root 4464640 Jan  7 16:44 openssh-8.3p1-1.el7.offline.tar

[root@testserver3 tmp]# tar xf openssh-8.0p1-1.el7.offline.tar

[root@testserver3 tmp]# ll openssh-8.0p1-1.el7.offline

total 3936

-rw-r--r--. 1 root root  514232 Jan  8 11:12 openssh-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root  505616 Jan  8 11:12 openssh-clients-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root 2603832 Jan  8 11:12 openssh-debuginfo-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root  400260 Jan  8 11:12 openssh-server-8.0p1-1.el7.centos.x86_64.rpm

[root@testserver3 openssl-1.1.1i.el7.offline]#

 

注:以上rpm包爲根據官方源碼包openssh-8.0p1.tar.gz rpmbuild生成

 

3.安裝

 

2.1.安裝前查看狀態

[root@testserver3 openssh-8.0p1-1.el7.offline]# rpm -qa |grep openssh

openssh-server-7.4p1-16.el7.x86_64

openssh-clients-7.4p1-16.el7.x86_64

openssh-7.4p1-16.el7.x86_64

2.2.執行升級

[root@testserver3 openssh-8.0p1-1.el7.offline]# ll

total 3936

-rw-r--r--. 1 root root  514232 Jan  8 11:12 openssh-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root  505616 Jan  8 11:12 openssh-clients-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root 2603832 Jan  8 11:12 openssh-debuginfo-8.0p1-1.el7.centos.x86_64.rpm

-rw-r--r--. 1 root root  400260 Jan  8 11:12 openssh-server-8.0p1-1.el7.centos.x86_64.rpm

[root@testserver3 openssh-8.0p1-1.el7.offline]# rpm -Uvh *.rpm

Preparing...                          ################################# [100%]

Updating / installing...

   1:openssh-8.0p1-1.el7.centos       ################################# [ 14%]

   2:openssh-clients-8.0p1-1.el7.cento################################# [ 29%]

   3:openssh-server-8.0p1-1.el7.centos################################# [ 43%]

   4:openssh-debuginfo-8.0p1-1.el7.cen################################# [ 57%]

Cleaning up / removing...

   5:openssh-server-7.4p1-16.el7      ################################# [ 71%]

   6:openssh-clients-7.4p1-16.el7     ################################# [ 86%]

   7:openssh-7.4p1-16.el7             ################################# [100%]

 

2.3.安裝新版本及驗證

[root@testserver3 openssh-8.0p1-1.el7.offline]# rpm -qa |grep openssh

openssh-clients-8.0p1-1.el7.centos.x86_64

openssh-debuginfo-8.0p1-1.el7.centos.x86_64

openssh-8.0p1-1.el7.centos.x86_64

openssh-server-8.0p1-1.el7.centos.x86_64

[root@testserver3 openssh-8.0p1-1.el7.offline]# ssh -V

OpenSSH_8.0p1, OpenSSL 1.0.2k-fips  26 Jan 2017

以上openssh的版本更新成功,但ssh無法啓動,下面操作去解決。

2.4.更新下面3個sshd_config配置參數如下:

# grep -E 'PermitRootLogin|UsePAM|PasswordAuthentication' /etc/ssh/sshd_config |grep -Ev '^#'

PermitRootLogin yes

PasswordAuthentication yes

UsePAM no

2.5.重啓sshd服務,驗證SSH可正常登陸

[root@testserver3 openssh-8.0p1-1.el7.offline]# systemctl restart sshd

 


 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章