一、什麼是 OpenSSH?
OpenSSH 是一套應用於 Unix 和 Linux 操作系統的免費、開放源碼的安全連接工具,可以為遠程登錄提供加密通道,是 Linux 系統中常用的工具。
二、為什麼要升級 OpenSSH?
OpenSSH 經常會受到攻擊,而且舊版本有各種漏洞,因此及時升級 OpenSSH 可以增強系統的安全性。
三、升級 OpenSSH 的步驟
1. 確認 OpenSSH 版本
使用命令 ssh -V 可以查看系統當前的 OpenSSH 版本。
[root@centos7 ~]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
2. 下載 OpenSSH 新版本
從官方網站 https://www.openssh.com/ 下載最新版本的 OpenSSH。
[root@centos7 ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
3. 解壓 OpenSSH 文件
使用 tar 命令將下載下來的文件解壓到指定目錄。
[root@centos7 ~]# tar zxvf openssh-8.3p1.tar.gz && cd openssh-8.3p1
4. 編譯安裝 OpenSSH 新版本
進入 openssh 文件夾,執行以下命令,進行編譯安裝 OpenSSH。
[root@centos7 openssh-8.3p1]# ./configure && make && make install
5. 備份配置文件
在升級前備份當前的 sshd_config 文件。
[root@centos7 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
6. 修改配置文件
用文本編輯器打開 sshd_config 文件,將以下配置信息加入到文件的末尾。
Ciphers aes256-cbc,aes192-cbc,aes128-cbc MACs hmac-sha1,umac-64@openssh.com,hmac-ripemd160 UsePrivilegeSeparation sandbox KexAlgorithms diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 Subsystem sftp /usr/libexec/openssh/sftp-server PermitRootLogin no AllowUsers user1 user2
7. 重啟 sshd 服務
執行以下命令,重啟 sshd 服務。
[root@centos7 ~]# systemctl restart sshd
四、常見問題
1. 編譯時出現錯誤
在編譯時,可能出現一些錯誤,這些錯誤一般是由於缺少依賴包導致的。可以使用以下命令來安裝依賴包。
[root@centos7 ~]# yum install -y zlib-devel openssl-devel pam-devel
2. 升級後無法登錄
升級後如果無法登錄,很可能是之前的配置文件的設置與新版本的 OpenSSH 發生了衝突。可以對比備份的 sshd_config 文件和新版本中的 sshd_config 文件,修改配置文件中的相應選項。
3. 升級後啟動服務失敗
如果升級後無法啟動服務,可以先查看服務日誌,找到具體的錯誤信息,然後根據錯誤信息進行調整。
[root@centos7 ~]# journalctl -xe
五、總結
通過升級 OpenSSH 可以增強 Centos7 的安全性,需要注意備份配置文件和依賴包的安裝。
原創文章,作者:FGJR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/137513.html