Linux

在 Linux 機器上禁用 ssh 作為 root 以及編寫腳本的挑戰

  • March 13, 2013

有安全意識的人通常建議在 Linux 機器上禁用 ssh 作為 root。我的問題是這樣的:

假設您通常編寫大量腳本,這些腳本通過 ssh 連接到大量 Linux 機器並執行各種根級任務。如果您以 root 身份禁用 ssh,您如何進行需要 root 權限的日常維護?

當然,sudo 是一個選項,但是每次執行命令時都必須輸入密碼。如果您的腳本執行各種任務怎麼辦?如果您必須針對大量主機執行該腳本怎麼辦?

當然,您可以設置 NOPASSWD 參數,但這不是安全風險嗎?

只是在這裡沉思。想得到社區的回饋。我正在尋找一種相對安全的方式來通過 ssh 連接到 Linux 機器並執行根級任務。

你可以做很多事情。這是部分列表:

  • 如果腳本確實必須定期執行,請將其放入 crontab 中,然後手動停止執行。
  • 使用諸如 MCollective 之類的系統(與 puppet 相關,但不完全是 puppet 的一部分)一次在大量機器上遠端執行命令。
  • 使用 ssh 密鑰允許特定使用者的 root 登錄。這會帶來審計風險,因為登錄的人可能不會被登錄,因此它實際上只適用於非常小的安裝。
  • /etc/sudoers指定無需密碼即可執行的特定腳本;其他任何東西都需要密碼。

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