為了系統的安全加固,一般都會將openssh服務公升級到最新版本,其中包括ssh、scp、sftp等服務。
筆者在公升級的時候遇到了好多坑,現做一下整理。網上有好多關於公升級openssh服務的介紹,大都不是很全,或多或少有問題,或是系統版本不同,或是安裝方式不同,或是服務版本不同。在這裡,筆者主要針對編譯安裝的方式來介紹。
基礎環境準備:
首先開啟兩個或以上的shell連線,因為在公升級過程中如果公升級失敗會導致不發新建shell連線;
在安裝之前先記下sshd.pid路徑,因為在啟動檔案sshd中要更改此路徑。
將安裝包先傳入伺服器中;
解除安裝現有版本openssh:rpm -e `rpm -qa |grep openssh`
刪除/etc/ssh/下所有檔案,在解除安裝完openssh後此路徑下檔案不會刪除,需手動刪除;
安裝依賴:zlib-devel、openssl-devel、gcc、gcc-c++、make等
編譯安裝openssh:
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/
make && make install
刪除/etc/ssh/下的金鑰對,rm -f /etc/ssh/ssh_host_* (只刪除金鑰對即可,在重啟的時候會重新生成)
複製啟動檔案至/etc/init.d/
cp contrib/redhat/sshd.init /etc/init.d/sshd
修改啟動檔案:vim /etc/init.d/sshd,將pid_file路徑改為原來的sshd.pid的路徑
重啟sshd服務即可。
至此openssh服務公升級完成,將sshd服務新增到開機啟動即可。
此版本openssh的配置檔案預設是沒有開啟root登入許可權的,想要開啟許可權可以修改配置檔案/etc/ssh/sshd_config
注:在解壓目錄~/openssh-7.7p1/contrib中有多個系統版本的啟動檔案,
另外,安裝目錄為/usr/,因為在啟動檔案中有關於sshd的路徑,此安裝目錄預設為redhat啟動檔案的路徑
如果變更了安裝路徑,啟動檔案的此路徑也要變更。
此版本的安裝包包含了scp、sftp等服務,學者的話可以同樣將此服務解除安裝,安裝後看能否安裝成功,筆者為了工作中安全加固,所以沒做嘗試。
gitea公升級到最新版本
git版本公升級 檢視版本資訊 git version 舊版本 git version 1.8.3 新版本 git version 2.17.1 解除安裝舊版本 yum remove git檢視最新的版本 訪問 或者 安裝依賴環境 確保安裝gcc g 以及編譯git所需要的包 安裝gcc yum i...
Mac公升級bash到最新版本
mac自帶的bash為3.2版本,而最新的bash是4.9,需要公升級了,才能支援關聯陣列等新特性。1 brew install bash 2 安裝到 usr local bin bash裡面。可以通過修改 etc shells檔案,來完成開機使用新版本的bash 3 但是,無法改變 bin bas...
yarn 公升級最新版本
yarn 公升級最新版本 npm install yarn latest g檢視yarn歷史版本 npm view yarn versions jsonyarn 公升級指定版本 例 公升級到1.21.3版本 yarn upgrade v1.21.3yarn 降低到指定版本 先解除安裝,再安裝 npm...