首先禁止 root 用户通过 ssh 直接登录,具体方法是编辑 /etc/ssh/sshd_config 文件,将 permitrootlogin 设置为 no;1. 使用 sudo vim /etc/ssh/sshd_config 打开配置文件;2. 修改 #permitrootlogin yes 为 permitrootlogin no;3. 保存后重启 ssh 服务,使用 sudo systemctl restart sshd;4. 确保已创建普通管理员用户(如 admin),并将其加入 sudo(debian/ubuntu)或 wheel(centos/rhel)组;5. 推荐启用密钥登录、更改默认端口、配置防火墙和部署 fail2ban 以增强安全;6. 验证配置:尝试用 root 登录应被拒绝,说明限制已生效。

在 Linux 系统中,为了提高服务器的安全性,通常建议限制 root 用户通过 SSH 直接登录。这样可以防止攻击者直接暴力破解 root 账户密码。以下是限制 root 登录的 SSH 配置方法。
SSH 服务的配置文件通常位于
/etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
#PermitRootLogin yes
将其修改为:
PermitRootLogin no
说明:PermitRootLogin no:完全禁止 root 用户通过 SSH 登录。其他可选值(了解即可):without-password 或 prohibit-password:允许 root 使用密钥登录,但不允许密码登录。yes:允许 root 密码登录(不推荐)。forced-commands-only:只允许 root 执行预定义命令,通常用于自动化任务。
修改配置后,必须重启 SSH 服务才能生效。
sudo systemctl restart sshd
sudo systemctl restart ssh
⚠️ 注意:重启前建议确保你有其他管理员账户可以登录,否则可能被锁在系统外。
禁用 root 登录后,应使用普通用户登录,再通过
sudo
su
admin
sudo adduser admin
sudo usermod -aG sudo admin
或加入 wheel 组(CentOS/RHEL):
sudo usermod -aG wheel admin
admin
sudo su -
或直接运行需要权限的命令:
sudo systemctl restart nginx
ufw
firewalld
你可以通过另一台机器尝试用 root 登录:
ssh root@your_server_ip
如果返回类似 “Permission denied, please try again.” 或直接拒绝连接,说明配置成功。
基本上就这些。限制 root 登录是一个简单但非常有效的安全措施,强烈建议在生产环境中启用。
以上就是如何限制root登录 ssh配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号