如何限制SSH根登录,但允许一些例外


Answers:


5

鉴于以root用户身份登录不是一个好主意,请查看sshd联机帮助页:

许可RootLogin

指定root是否可以使用ssh(1)登录。参数必须是``是'',``无密码'',``仅强制命令''或``否''。默认为``是''。

如果将此选项设置为``无密码'',则对root用户禁用密码身份验证。

如果将此选项设置为``仅强制命令'',则将允许使用公共密钥身份验证的root用户登录,但仅在指定了command选项的情况下(即使通常不以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)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.