PermitRootLogin yesSSH 服务(sshd)配置文件中的一个参数,用来控制 是否允许 root 用户通过 SSH 登录


1. 配置位置

  • 配置文件路径:/etc/ssh/sshd_config
  • 示例:
# /etc/ssh/sshd_config
PermitRootLogin yes


2. 参数说明

参数值含义
yes允许 root 用户通过 SSH 登录(密码或密钥,取决于 PasswordAuthentication 设置)
no禁止 root 用户通过 SSH 登录
prohibit-password禁止密码登录 root,只允许使用公钥认证
forced-commands-only仅允许公钥登录 root,并且必须执行指定命令(常用于 Git 或自动化脚本)

3. 修改后生效步骤

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

  1. 修改或添加:
PermitRootLogin yes

  1. 重启 SSH 服务:
# 系统使用 systemd
sudo systemctl restart sshd

# 或者老系统
sudo service sshd restart

  1. 测试登录:
ssh root@your_server_ip


4. 安全建议

  • 生产环境不要直接允许 root 密码登录
  • 推荐做法:
    1. 普通用户登录 → 使用 sudo 提权
    2. 或者只允许 root 使用 公钥认证 登录:
    PermitRootLogin prohibit-password
  • 配合防火墙或 fail2ban 防止暴力破解