如何限制 SSH root 登錄,但允許一些例外

如何限制 SSH root 登錄,但允許一些例外

在openssh中,您可以限制root登入(PermitRootLogin no),但是它可以有例外嗎?

答案1

鑑於以 root 身分登入不是一個好主意,請查看 sshd 線上說明頁:

允許root登入

指定 root 是否可以使用 ssh(1) 登入。參數必須是「是」、「無密碼」、「僅強制命令」或「否」。預設為“是”。

如果該選項設定為“without-password”,則 root 的密碼驗證將被停用。

如果此選項設定為“forced-commands-only”,則將允許使用公鑰驗證的 root 登錄,但前提是已指定命令選項(這對於進行遠端備份可能很有用,即使通常不使用 root 登入)允許)。對於 root 來說,所有其他身份驗證方法都已停用。

如果此選項設定為“no”,則不允許 root 登入。

因此,您可以用於PermitRootLogin without-password允許私鑰/公鑰身份驗證,同時禁止密碼身份驗證;或者也許PermitRootLogin forced-commands-only讓您以 root 身分登入但沒有互動式存取。

後一種情況需要您編輯authorized_keys文件,以指定為使用者啟用哪個命令進行日誌記錄,如下所示:

command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)

或者更好的是,僅允許從特定 IP 位址進行強制命令 root 登入:

from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)

相關內容