在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)