如何禁止 root SSH 用密碼登入 ? 1個關鍵步驟強化 Linux 系統安全性




嘿!今天我們將討論一個極其重要的主題 – 如何禁止 root 管理者通過 SSH 登入您的 Linux 伺服器,從而提高系統的安全性。這是一個關鍵性的步驟,可以幫助我們減少潛在的風險和防止不懷好意的入侵者。

為什麼要禁止 root SSH 登入?

讓我們來看看為什麼要禁止 root 使用 SSH 登入。一般情況下,大多數 Linux 發行版允許 root 用戶通過 SSH 登入,但這實際上是一個安全風險。如果黑客試圖入侵您的伺服器,他們將首先嘗試 root 用戶,因為 root 擁有系統上的最高權限。如果我們禁止 root SSH 登入,攻擊者將無法直接使用 root 用戶名進行入侵,這樣就增加了系統的安全性。

如何禁止 root SSH 登入?

現在,讓我們來看看如何實現禁止 root SSH 登入。這是一個簡單的過程,但需要小心操作,以免鎖定自己出伺服器。

Step1 以 sudo 開啟 /etc/ssh/sshd_config

以具有 sudo 權限的用戶打開 SSH 配置文件,通常是 /etc/ssh/sshd_config

Step2 設定 /etc/ssh/sshd_config

以 root 管理者權限編輯 /etc/ssh/sshd_config 這個 SSH 服務的設定檔,找到 PermitRootLogin 選項,並將其設置為 no。 即可關閉 root 遠端登入的功能

# 禁止 root 管理者登入
PermitRootLogin no

若只希望 root 管理者允許公鑰認證方式登入,可以將 PermitRootLogin 設定為 prohibit-password 或 without-password 這兩個參數意思其實一樣,without-password用意在於表達更明確。

 # 禁止 root 管理者以密碼認證登入(允許公鑰認證方式登入) 
PermitRootLogin without-password

Step3 啟動 SSH 服務

儲存文件並重新啟動 SSH 服務。

# 重新啟動 SSH 服務
 sudo systemctl restart sshd

這樣,您已經成功禁止了 root 用戶的 SSH 登入。從現在開始,您將需要使用其他非 root 用戶登入,然後再使用 sudo 提升權限執行需要 root 權限的操作。

特殊參數說明 forced-commands-only

PermitRootLogin forced-commands-only
  • 這個選項是一個比較特殊且限制性較高的設置。
  • 它僅允許 root 用戶以非互動方式執行指定的命令,而不允許一般的互動式 SSH 會話。
  • 假設您希望 root 用戶能夠遠程執行特定命令,但不希望他們能夠進行常規的互動式 SSH 會話,這個選項非常有用。
  • 要使用這個選項,您需要在 SSH 配置文件中指定 ForceCommand 選項,並設置要執行的命令。例如:
#這將告訴 SSH 伺服器,只有當 root 用戶嘗試連接時,它們將被強制執行 /path/to/your/command,而不允許其他操作。ForceCommand /path/to/your/command 

使用情境:限制 root 用戶的 SCP 命令

假設您管理一個 Linux 伺服器,其中包含敏感數據,並且您希望 root 用戶能夠遠程傳輸文件,但僅限於使用 SCP(Secure Copy)命令,而不允許他們執行其他命令或進行互動式 SSH 會話。

在這種情況下,您可以配置 forced-commands-only 選項,以強制 root 用戶只能執行 SCP 命令。這樣可以確保他們無法進行其他操作,從而增強了伺服器的安全性。

以下是如何配置的說明:

  • 添加以下內容,指定要執行的 SCP 命令:shellCopy這裡,我們使用 Match 段來限制這個配置僅適用於 root 用戶。然後,我們使用 ForceCommand 選項指定了要執行的 SCP 命令,並設置了目的目錄。
PermitRootLogin forced-commands-only
Match User root
ForceCommand /usr/bin/scp -t /destination/directory
  • 儲存文件並重新啟動 SSH 服務 sudo service ssh restart

現在,當 root 用戶嘗試通過 SSH 登入伺服器時,他們將被強制執行指定的 SCP 命令,而不允許其他操作。這確保了他們只能使用 SCP 命令來進行文件傳輸,並加強了伺服器的安全性。





主頁 » LINUX » 實用技巧 » 如何禁止 root SSH 用密碼登入 ? 1個關鍵步驟強化 Linux 系統安全性

確保您具有替代權限

最後,請確保您具有另一個具有 sudo 權限的用戶帳戶,以防止在禁止 root SSH 登入後被鎖定在伺服器外部。這是確保您可以繼續管理伺服器的關鍵。

總結一下,禁止 root SSH 登入是一個重要的步驟,可以增強 Linux 系統的安全性。這樣,您可以減少潛在的風險,並確保您的伺服器不易受到不懷好意的入侵者的攻擊。記住,網絡安全是一個持續的過程,定期審查和更新您的安全措施非常重要。

希望這篇文章對您有所幫助,如果您有任何問題或意見,請隨時在下面留言,我們將樂意回答您的問題!


延伸閱讀:如何使用 Linux SSH 安全加密連線,指令教學及設定檔配置範例

延伸閱讀:如何精準快速處理文字資料? 5分鐘學會 cut 指令教學與常用範例整理





主頁 » LINUX » 實用技巧 » 如何禁止 root SSH 用密碼登入 ? 1個關鍵步驟強化 Linux 系統安全性

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *