openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤
由于項目構建時間比較長,近期安全檢查發現openssh有漏洞。所以要升級openssh到7.9p1版本。由于ssh用于遠程連接,所以要謹慎操作。本文講的步驟是在Centos7.3系統、原openssh是系統安裝時自帶的6.6版本基礎上進行升級(其他版本類似),建議生成環境要先做測試,之后再在生產環境升級。
一、升級說明
1、升級OpenSSH后,原有公鑰失效,信任關系需要重新配置;
2、升級過程需要停止sshd服務,會導致ssh和sftp無法使用;
3、升級需要關閉防火墻服務;
4、升級需要關閉selinux服務;
5、升級前需要開啟telnet,防止升級失敗,系統無法登錄,對應的防火墻需要開啟23端口,安裝需要telnet相關包(推薦通過系統ISO安裝)
6、升級過程中需要刷新lib庫:ldconfig -v;
7、升級順序:順序是zlib庫-> openssl -> openssh;
8、升級需要gcc、make、perl、zlib、zlib-devel、pam、pam-devel依賴包;
二、安裝包準備
需要準備的安裝包(點擊可本地下載):
三、安裝并啟用Telnet
1、安裝telnet服務端
yum -y install xinetd telnet-server
2、默認情況下,系統是不允許root用戶telnet遠程登錄的。如果要使用root用戶直接登錄,需設置如下內容。或者可以添加一個可以登錄的用戶,登錄并su到root用戶(建議采用此方法,保證系統安全)。此步驟可跳過!
允許root用戶通過telnet登陸:
編輯/etc/pam.d/login,注釋掉下面這行
vi /etc/pam.d/login
#auth?[user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
3、添加超級用戶登陸設備至/etc/securetty文件cp?/etc/securetty?/etc/securetty.bak
echo?"pts/0"?>>?/etc/securetty
echo?"pts/1"?>>?/etc/securetty
echo?"pts/2"?>>?/etc/securetty
4、開啟root用戶遠程登陸。此步驟可跳過!
編輯/etc/pam.d/remote,注釋下列這行:
vi /etc/pam.d/remote
#auth required?pam_securetty.so
5、重啟telnet和xinetd服務【telnet服務依賴于xinetd服務】systemctl?restart?telnet.socket
systemctl?restart?xinetd
PS:如果開啟了防火墻,需要將23端口(系統默認23為telnet端口)添加到防火墻允許的端口的列表中。
四、安裝升級
(1)、升級前環境準備
1、將上文下載的三個文件上傳至服務器,目錄可自行設定,方便即可。
2、關閉系統防火墻
systemctl stop firewalld.service
3、關閉SElinux
檢查是否關閉:
getenforce
如果未關閉,關閉之
setenforce 0
上面只是臨時關閉了,重啟后不生效。下面改配置文件,使永久生效。
vi /etc/selinux/config
修改:
SELINUX=disabled
保存退出。
4、安裝相關依賴包
yum -y install gcc make perl zlib zlib-devel pam pam-devel
安裝完畢后執行下面命令,確保所有依賴包正常安裝
rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
(2)、升級openSSH(注意從這步開始,通過Telnet登錄到服務器,務必)
1、停止ssh服務
systemctl stop sshd
備份ssh配置文件
cp -r /etc/ssh /etc/ssh.old
2、查看系統原有openssh包
rpm -qa | grep openssh
根據上面查詢出的結果,卸載系統里原有Openssh(一般有三個包,全部卸載)
rpm -e --nodeps? xxxxxxxxxx
卸載完成后執行rpm -qa | grep openssh,確保沒有回顯
3、編譯安裝zlib
解壓剛才上傳到服務器的zlib-1.2.11.tar.gz,并進行編譯安裝tar?-xzvf?zlib-1.2.11.tar.gz
cd?zlib-1.2.11
./configure?--prefix=/usr/local/zlib
如果報錯類似下圖所示,請安裝gcc
make
make?install
驗證zlib安裝是否成功,要包含include、lib、share三個目錄。
ll /usr/local/zlib
新建并編輯配置文件:
vi?/etc/ld.so.conf.d/zlib.conf
加入如下內容后保存退出
/usr/local/zlib/lib
刷新庫文件,加載剛才編譯安裝的zlib生成的庫文件
ldconfig?-v
4、編譯安裝openssl
解壓安裝openssl包,并進行編譯安裝tar?-xzvf?openssl-1.0.2o.tar.gz
cd?openssl-1.0.2o
./config?shared?zlib
make??????(時間比較長,切勿打斷)
make?test????(時間比較長,切勿打斷)
make?install?????(時間比較長,切勿打斷)
重命名現有文件目錄
mv?/usr/bin/openssl?/usr/bin/openssl.bak
創建ssl相關軟連接
ln?-s?/usr/local/ssl/bin/openssl?/usr/bin/openssl
ln?-s?/usr/local/ssl/include/openssl?/usr/include/openssl
編輯配置文件
vi?/etc/ld.so.conf.d/ssl.conf
加入如下內容后保存退出
/usr/local/ssl/lib
刷新庫文件,加載剛才編譯安裝的ssl生成的庫文件
ldconfig?-v
查看openssl版本
openssl?version?-a
5、升級openssh,編譯安裝tar?-zxvf?openssh-7.9p1.tar.gz
cd?openssh-7.9p1
./configure?--prefix=/usr?--sysconfdir=/etc/ssh?--with-md5-passwords?--with-privsep-path=/var/lib/sshd
make
修改文件權限
chmod?600?/etc/ssh/ssh_host_rsa_key
chmod?600?/etc/ssh/ssh_host_ecdsa_key
chmod?600?/etc/ssh/ssh_host_ed25519_key
make?install
修改配置文件,允許root直接登錄
echo?"PasswordAuthentication?yes"???>>?/etc/ssh/sshd_config
echo?"PermitRootLogin?yes"?>>?/etc/ssh/sshd_config
ssh服務必須開機自啟動,因此要進行一些設置
cp?-p?contrib/redhat/sshd.init?/etc/init.d/sshd
chmod?+x?/etc/init.d/sshd
chkconfig?--add?sshd
chkconfig?sshd?on
systemctl?restart?sshd
驗證ssh版本
ssh -V
ssh登錄測試,可以成功登錄。
openssh版本升級完成!
如果之前是rpm包安裝的。并且按照以上步驟操作,可以直接以下命令進行回滾#?yum?-y?install?openssh-clients
#?yum?-y?install?openssh-server
#?yum?-y?install?openssh
總結
以上是生活随笔為你收集整理的openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界手机版java安装失败_我的世界
- 下一篇: lua执行shell命令6_tolua_