Linux
SSH 和安全指南
我正在嘗試按照一些安全準則設置一個 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 登錄到機器後才能使用它。