Linux

SSH 和安全指南

  • August 21, 2015

我正在嘗試按照一些安全準則設置一個 ubuntu 伺服器(14.04 LTS)。

這些準則之一建議禁用 root 使用者並使用 sudo 創建一個以管理員身份工作的新使用者。這些準則中的另一個建議通過使用者和密碼禁用 ssh 身份驗證並啟用公鑰身份驗證。

我遵循了這兩個建議,現在我發現自己在伺服器上使用新的管理員帳戶,但每次我需要執行管理命令時都需要輸入該使用者的密碼(sudo 要求它)。

問題是:這真的是一切都應該工作的方式(根據安全指南)嗎?

我的意思是:用於 ssh 身份驗證的密碼的漏洞與用於在打開的會話“內部”執行 sudo 的(相同)密碼的漏洞不同?

還沒有人真正解決你的問題。

禁用 sudo 命令的密碼並沒有太大的安全風險,尤其是在您使用純密鑰 SSH 登錄時。為此,請執行:

sudo visudo

並編輯“sudo”組行如下:

%sudo  ALL=(ALL:ALL) NOPASSWD: ALL

NOPASSWD 是關鍵。使用 sudo 執行命令時,您將不再需要輸入密碼。

是的,這確實是一種常見的做法。

使用sudo而不是以 root 身份工作主要是為了保護您免受自己的傷害 - 如果您必須sudo做一些危險的事情,您更有可能注意。

關於將其與 SSH 密鑰一起使用:

禁用基於密碼的登錄可以有效地防止任何暴力嘗試登錄 SSH 伺服器,只需為普通帳戶(如 root)嘗試大量密碼。您需要私鑰文件才能以這種方式登錄。這比允許密碼登錄安全得多。

這層安全性被添加到您的密碼的安全性中sudo,因為您只能在使用您的私鑰文件通過 SSH 登錄到機器後才能使用它。

引用自:https://serverfault.com/questions/715758