如何在 Linux 中停用 SSH Root 登入?


簡介

在 Linux 系統中,SSH(安全外殼)是一種用於連線和管理遠端伺服器的常用協議。它允許使用者安全地從世界任何地方訪問和控制他們的伺服器。SSH 的使用對於系統管理員和開發人員至關重要,因為它使他們能夠執行各種任務,例如編輯配置檔案、傳輸檔案和遠端管理服務。

但是,允許透過 SSH 進行 root 登入會帶來重大的安全風險,可能導致未經授權的訪問和對您系統的惡意攻擊。透過停用此功能,您可以大大降低 Linux 伺服器被入侵的可能性。

本指南的目的是提供有關如何在 Linux 中停用透過 SSH 進行 root 登入的分步說明。我們將探討與允許透過 SSH 進行 root 登入相關的風險,並演示如何採取必要的措施來保護您的系統。

SSH 在 Linux 中的重要性

SSH 是一種安全遠端訪問協議,允許使用者安全地透過不安全的網路(例如網際網路)進行遠端連線。它在客戶端/伺服器通訊通道之間提供加密,有效地使駭客或其他可能試圖未經授權訪問或竊聽流量的第三方難以進行操作。SSH 為系統管理員和開發人員提供了一種簡單的方法,為他們提供了一種有效的方式來訪問和管理其遠端伺服器,無論是在其工作站還是其他他們可能沒有直接控制檯訪問許可權的遠端位置。

允許透過 SSH 進行 Root 登入相關的安全風險

雖然允許透過 SSH 進行 root 登入似乎是一個方便的功能,但由於其固有的安全控制措施不足,它帶來了重大的安全風險。成功透過 root 登入獲得訪問許可權的駭客可以完全控制伺服器,從而更容易執行惡意活動,例如安裝惡意軟體或建立後門,而不會被檢測到。

因此,任何旨在使用 SSH 獲取提升許可權的攻擊,如果啟用了 root 登入,則將更容易成功。停用透過 SSH 進行 root 登入可以大大降低未經授權訪問和惡意攻擊的風險。

瞭解 SSH Root 登入

安全外殼 (SSH) 是一種允許不同系統之間安全通訊的協議,允許使用者建立和維護到 Linux 伺服器的遠端連線。SSH root 登入是指以 root 使用者身份透過 SSH 登入的過程。

root 使用者擁有完整的系統級訪問許可權,這意味著他們可以更改系統的任何部分。但是,這也意味著如果有人未經授權訪問您的 root 帳戶,他們將完全控制您的系統。

準備停用 Root 登入

為了繼續停用透過 SSH 進行 root 登入,務必正確準備和設定系統。在開始之前,最好檢查系統當前設定並建立一個將用作 root 帳戶替代的新使用者帳戶。

檢查當前設定以檢視 root 登入是啟用還是停用

您需要做的第一件事是檢查您的系統上是否啟用了 root 登入。為此,開啟終端並鍵入以下命令:

sudo grep PermitRootLogin /etc/ssh/sshd_config      

如果此命令的輸出為“PermitRootLogin yes”,則表示當前已在您的系統上啟用了 root 登入。如果顯示“PermitRootLogin no”,則您已經免受這種安全風險的威脅。

建立具有 sudo 許可權的新使用者帳戶作為使用 root 帳戶的替代方案

由於安全風險,除非絕對必要,否則永遠不要將 root 帳戶用於日常使用。日常使用的最佳做法是建立另一個具有管理員許可權但未使用“root”作為其使用者名稱。

如果有人設法透過其他方式獲得未經授權的訪問許可權,這將提供額外的安全層。要建立這樣的帳戶,請執行以下命令:

sudo adduser <username>     

預設情況下,這將建立一個具有常規許可權的新使用者,但尚無管理員許可權。下一步是將此使用者新增到 sudoers 檔案中,該檔案定義了誰可以訪問 sudo(超級使用者)命令。要透過終端控制檯授予此新使用者管理員許可權,請執行以下命令:

sudo usermod -aG sudo <username>   

建立新使用者後,請確保登出並使用新帳戶重新登入。您可以使用此帳戶執行日常操作以及需要 sudo 許可權的管理任務。

停用或刪除受損的使用者帳戶總是比停用或刪除 root 帳戶更容易。在完成這些準備步驟後,我們就可以繼續停用透過 SSH 進行 root 登入了。

透過 SSH 停用 Root 登入編輯檔案使用文字編輯器

透過 SSH 停用 root 登入的第一步是開啟 sshd_config 檔案。此檔案通常位於 /etc/ssh/ 目錄中。開啟終端並輸入以下命令:

sudo nano /etc/ssh/sshd_config   

此命令將在具有超級使用者許可權的“nano”文字編輯器中開啟 sshd_config 檔案。在此過程中使用 sudo 非常重要,因為您需要管理員訪問許可權才能編輯和儲存更改。

將 PermitRootLogin 設定從“yes”更改為“no”

開啟 sshd_config 檔案後,查詢名為 PermitRootLogin 的設定。預設情況下,此設定通常設定為“yes”,這意味著允許透過 SSH 進行 root 登入。您需要將此設定更改為“no”。

只需將 yes 更改為 no 編輯此行。

#PermitRootLogin yes 

PermitRootLogin no

這將停用透過 SSH 進行的 root 登入,並且僅允許其他具有 sudo 許可權的使用者訪問。

儲存並關閉檔案

要儲存更改,只需按鍵盤上的 CTRL + O,然後按 ENTER(回車)鍵。要退出 nano 文字編輯器,請在鍵盤上鍵入 CTRL + X。

重新啟動 SSH 服務

編輯 sshd_config 後,最後一步是重新啟動 ssh 服務,以便它應用我們之前所做的更改,我們使用以下命令:

sudo systemctl restart sshd.service 

測試所做的更改

在完成在 Linux 中停用 SSH root 登入的步驟後,必須驗證更改是否已成功完成。可以透過嘗試使用終端或 SSH 客戶端以 root 使用者身份透過 SSH 登入來驗證這些更改。

驗證更改

首先,嘗試透過命令列或 SSH 客戶端 SSH 連線到您的伺服器。在提示輸入憑據時,鍵入“root”作為使用者名稱以及相應的密碼。如果您無法透過 SSH 使用 root 帳戶登入,則表示您已成功停用 SSH 訪問的 root 登入。

如果成功,您應該會看到一條訊息,指示由於憑據錯誤而拒絕訪問。在保護系統免受未經授權訪問時,務必不要留下任何漏洞,停用透過 SSH 進行的 root 登入是實現此目標的最關鍵步驟之一。

結論

在本指南中,我們介紹了在 Linux 中停用透過 SSH 進行 root 登入的重要性。允許 root 登入可能會帶來重大的安全風險,因為潛在的攻擊者可以直接訪問您的系統。

停用 root 登入是保護伺服器及其資料的一個簡單但至關重要的步驟。透過停用 root 登入,您可以迫使攻擊者在嘗試訪問時更加努力。

更新於: 2023年7月11日

561 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告