linux禁止root远程登录的命令

worktile 其他 1180

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    禁止root远程登录的命令有多种方式,以下是其中的几种常用方法:

    1. 修改SSH配置文件:通过修改SSH服务器的配置文件,禁用root用户的远程登录。找到并编辑配置文件/etc/ssh/sshd_config,在文件中找到PermitRootLogin选项,并将其修改为PermitRootLogin no。保存修改后,重启SSH服务使设置生效。

    2. 创建只能使用sudo命令的普通用户:在Linux系统中,可以创建一个只能使用sudo命令的普通用户,并将其赋予管理员权限。通过禁止root用户的远程登录,可以增加系统的安全性。

    3. 使用pam.d模块:在Linux中,可以使用PAM(Pluggable Authentication Modules)模块来限制root用户的远程登录。编辑PAM的访问控制配置文件/etc/pam.d/sshd,在文件中找到auth required pam_securetty.so行,并在其上面添加一行如下内容:
    auth required pam_listfile.so sense=deny item=user sense=allow file=/etc/sshd_deny_users onerr=succeed
    然后在/etc/sshd_deny_users文件中添加所有禁止远程登录的用户(包括root),保存配置文件并重启SSH服务。

    4. 使用故意密码输入错误的登录策略:可以修改PAM的配置文件,设置锁定机制,允许只输入有限次数密码错误后锁定登录,这样可以有效阻止通过暴力破解等方式远程登录root用户。

    需要注意的是,在禁止root远程登录之前,需要确保至少有一个具有管理员权限的用户可以远程登录系统,以便进行系统管理和维护。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,可以通过以下命令禁止root用户进行远程登录:

    1. 修改SSH配置文件:
    “`shell
    sudo vi /etc/ssh/sshd_config
    “`
    找到以下行,并将其修改为no:
    “`shell
    PermitRootLogin no
    “`
    保存并关闭文件后,重新启动SSH服务:
    “`shell
    sudo systemctl restart sshd
    “`
    这样就禁止了root用户通过SSH远程登录。

    2. 使用sudo配置文件:
    编辑sudoers文件:
    “`shell
    sudo visudo
    “`
    找到以下行:
    “`shell
    # Authentication
    Defaults requiretty
    “`
    将其改为:
    “`shell
    # Authentication
    Defaults !requiretty
    “`
    保存并关闭文件,此配置更改将禁止root用户通过sudo进行远程登录。

    3. 禁用root用户的远程登录:
    通过以下命令禁用root用户的远程登录:
    “`shell
    sudo usermod -s /sbin/nologin root
    “`
    这将改变root用户的shell为/sbin/nologin,即禁止root用户登录系统。

    4. 使用PAM模块限制远程登录:
    可以通过编辑PAM配置文件以限制root远程登录:
    “`shell
    sudo vi /etc/pam.d/sshd
    “`
    在文件的开头添加以下行:
    “`shell
    auth required pam_listfile.so item=user sense=deny file=/etc/ssh/denyusers onerr=succeed
    “`
    然后,在/etc/ssh/目录下创建一个名为denyusers的文件,并将root用户添加到该文件中:
    “`shell
    sudo vi /etc/ssh/denyusers
    “`
    添加以下行:
    “`shell
    root
    “`
    保存并关闭文件,重启SSH服务:
    “`shell
    sudo systemctl restart sshd
    “`
    这样就限制了root用户的远程登录。

    5. 使用防火墙规则限制SSH访问:
    使用防火墙规则可以限制从特定IP地址或IP地址范围访问SSH服务。例如,使用iptables命令禁止所有IP地址范围从远程访问SSH:
    “`shell
    sudo iptables -A INPUT -p tcp –dport 22 -s 192.168.0.0/16 -j DROP
    “`
    这将阻止192.168.0.0/16范围内的所有IP地址访问SSH服务。

    以上是禁止root远程登录的几种常用方法,在实际使用中,可以根据需要选择其中一种或多种方法来达到限制root远程登录的目的。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,为了提高系统的安全性,禁止root用户通过远程登录是一种常见的做法。通过禁止root远程登录,可以降低系统遭受恶意攻击的风险。以下是几种常用的方法来禁止root远程登录的命令。

    1. 使用DenyUsers命令:

    编辑/ect/ssh/sshd_config文件,找到DenyUsers行,如果没有这一行,可以自己添加。在这一行后,添加root,保存并退出。

    “`
    DenyUsers root
    “`

    然后重启sshd服务(根据不同的系统,可能需要使用不同的命令):

    “`
    service sshd restart
    “`

    或者

    “`
    systemctl restart sshd
    “`

    2. 使用PermitRootLogin命令:

    编辑/ect/ssh/sshd_config文件,找到PermitRootLogin行,修改为PermitRootLogin no,保存并退出。

    “`
    PermitRootLogin no
    “`

    然后重启sshd服务(根据不同的系统,可能需要使用不同的命令):

    “`
    service sshd restart
    “`

    或者

    “`
    systemctl restart sshd
    “`

    3. 使用AllowUsers命令:

    编辑/ect/ssh/sshd_config文件,找到AllowUsers行,将root从这一行中删除,保存并退出。

    “`
    AllowUsers user1 user2
    “`

    然后重启sshd服务(根据不同的系统,可能需要使用不同的命令):

    “`
    service sshd restart
    “`

    或者

    “`
    systemctl restart sshd
    “`

    4. 使用PAM模块:

    编辑/etc/pam.d/sshd文件,找到auth required pam_securetty.so行,将#号去掉并保存。

    “`
    auth required pam_securetty.so
    “`

    然后重启sshd服务(根据不同的系统,可能需要使用不同的命令):

    “`
    service sshd restart
    “`

    或者

    “`
    systemctl restart sshd
    “`

    以上就是几种常用的方法来禁止root远程登录的命令。根据您的需要和系统配置,可以选择其中一种或多种方法来禁止root远程登录。重要的是在禁止root远程登录后,确保至少有一个普通用户可以通过远程登录来管理系统。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部