关闭 root 账户 SSH 访问权限

在 centos 中,默认情况下,root 账户可以通过 SSH 直接登录。为了提高系统安全性,建议关闭 root 账户的 SSH 访问权限,改为使用普通用户登录后再切换到 root


1. 关闭 root 账户 SSH 访问权限

操作步骤:

  1. 编辑 SSH 配置文件 /etc/ssh/sshd_config

    sudo vi /etc/ssh/sshd_config
    
  2. 找到以下行(默认可能是注释的):

    #PermitRootLogin yes
    
  3. 修改为以下内容:

    PermitRootLogin no
    

    注意:如果找不到该行,可以直接在文件末尾添加:

    PermitRootLogin no
    
  4. 保存并退出编辑器。

  5. 重启 SSH 服务使配置生效:

    sudo systemctl restart sshd
    
  6. 验证配置是否生效:

    • 尝试使用 root 账户通过 SSH 登录:
      ssh root@your_server_ip
      
      应该会提示“Permission denied”或类似错误。
    • 使用普通用户登录后,再切换到 root
      ssh username@your_server_ip
      sudo su -
      

2. 配置普通用户使用 sudo 权限

关闭 root 账户的 SSH 访问权限后,建议为普通用户配置 sudo 权限,以便在需要时执行管理员操作。

操作步骤:

  1. 将普通用户添加到 wheel 组(管理员组):

    sudo usermod -aG wheel username
    
  2. 验证用户是否已加入 wheel 组:

    id username
    

    输出应包含 wheel 组。

  3. 测试 sudo 权限:

    • 切换到普通用户:
      su - username
      
    • 执行 sudo 命令:
      sudo ls /root
      
      如果配置正确,系统会提示输入用户密码,然后显示 /root 目录内容。

3. 其他注意事项

  • 备份配置文件:在修改 SSH 配置之前,建议备份相关文件:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
    
  • 确保普通用户可以切换到 root:如果普通用户无法切换到 root,检查 /etc/sudoers 文件是否包含以下行:

    %wheel  ALL=(ALL)       ALL
    
  • 启用 SSH 密钥认证:为了进一步提高安全性,建议禁用密码登录,仅使用 SSH 密钥认证:

    1. 编辑 /etc/ssh/sshd_config
      sudo vi /etc/ssh/sshd_config
      
    2. 修改以下行:
      PasswordAuthentication no
      
    3. 重启 SSH 服务:
      sudo systemctl restart sshd
      

总结

通过关闭 root 账户的 SSH 访问权限,可以显著提升系统的安全性,减少被暴力破解的风险。建议结合 sudo 权限和 SSH 密钥认证,进一步增强系统的安全性。


posted @ 2025-03-20 09:33  VeryCoolBaby  阅读(127)  评论(0)    收藏  举报