温馨提示×

centos怎样禁止ssh root

小樊
69
2026-10-08 15:29:42
栏目: 智能运维

在 CentOS 中“禁止 SSH 用 root 登录”通常有两种理解,常见做法是禁止 root 通过 SSH 直接登录,而不是完全禁用 root 账号。下面按最常用、最安全的方式说明。


一、禁止 root 通过 SSH 直接登录(推荐)

1. 修改 SSH 配置文件

vi /etc/ssh/sshd_config

找到或添加以下行:

PermitRootLogin no

如果是 CentOS 7/8,也可能是:

#PermitRootLogin yes

改为 no

2. 确保有普通用户可登录

⚠️ 操作前必须确认已有普通用户且能 sudo

useradd admin
passwd admin
usermod -aG wheel admin

3. 重启 SSH 服务

# CentOS 6
service sshd restart

# CentOS 7/8
systemctl restart sshd

二、禁止 root 使用密码 SSH 登录(更严格)

如果你希望 root 还能用密钥,但不能用密码:

PermitRootLogin prohibit-password

或旧版本:

PermitRootLogin without-password

三、彻底禁止 root 账号(不推荐)

passwd -l root

或

usermod -s /sbin/nologin root

⚠️ 风险极高,可能导致系统无法恢复,不建议生产环境使用。


四、验证是否生效

另开一个终端测试(不要断开当前连接):

ssh root@服务器IP

应提示:

Permission denied (publickey,password).

五、额外安全建议

  • 修改默认端口
Port 2222
  • 禁用密码登录,只用密钥
PasswordAuthentication no
  • 使用 fail2ban 防爆破

如果你告诉我 CentOS 版本(6/7/8) 或 是否用密钥登录,我可以给你更精确的操作步骤。

0 踩