在下手前请确认有其它管理员权限用户可正常登录,或是重启SSHD后先不要关闭当前连接,尝试用修改后的配置去新建连接,如果发现连接不了,马上在当前连接上修改回来。别整得整个都无法登录了。

编辑/etc/ssh/sshd_config 文件

vi /etc/ssh/sshd_config

把“#PermitRootLogin no”前的#去掉,变成:

PermitRootLogin no

再输入命令重启SSH:

systemctl restart sshd.service

这样ROOT再试图登录时将会出现拒绝访问的错误提示。

login as: root
Access denied
root@xxx's password:

开放ROOT组里其它用户的登录权限(重要)

可以打开文件/etc/ssh/sshd_config,然后在文件的末尾加上这样一行文字,其中user1、user2即为允许通过ssh登录的用户。

AllowUsers user1 user2

    Linux系统默认情况下,是可以通过ssh以root权限登录的。但出于安全考虑,这样的权限是不合适的,因为黑客可能通过暴力破解你的root密码,然后进入你的系统。
    为了保证服务器安全,几乎所有的服务器都禁止了超级用户直接登录系统,而是通过普通用户登录系统,然后再通过su命令或者sudo命令切换到超级用户下,执行一些需要超级权限的工作。而不是一直以root用户在系统中横冲直撞,因为说不定什么时候你手一抖,就进行了一些危险性的操作。
    那么如何禁止以root通过ssh登录到系统呢?
    是否允许root用户通过ssh登录,是通过操作sshd_config配置文件来实现的。当一个ssh连接建立时,操作系统会检查相关文件的配置信息,从而决定是否接受该连接。
    因此,为禁止root用户通过ssh登录,我们先找到 /etc/ssh/sshd_config文件,通过编辑器打开该文件。比如,通过vi打开该文件:
    # vi /etc/ssh/sshd_config
    在文件中找到下面一行文字:
    #PermitRootLogin no
    去掉该行前面的#号,使其成为下面这样:
    PermitRootLogin no
    接下来,在shell中输入以下命令来重启ssh服务
    # service sshd restart
    这样当你再试图以root登录系统时,就会出现“拒绝访问”的错误提示信息:
    login as: root
    Access denied
    root@172.31.41.51's password:
    如果想要恢复root用户通过ssh登录的权限,我们只要将开始的改变改回去就行。
    如果你的系统里用户众多,想允许一部分用户通过ssh登录,而其他用户则禁止通过ssh登录。可以打开文件/etc/ssh/sshd_config,然后在文件的末尾加上这样一行文字,其中user1、user2即为允许通过ssh登录的用户。
    AllowUsers user1 user2
文档更新时间: 2018-11-22 09:29   作者:cklx