温馨提示×

centos如何禁止ssh密码

小樊
44
2026-09-17 21:26:08
栏目: 智能运维

在 CentOS 上“禁止 SSH 密码登录”通常是指只允许密钥登录,禁用密码认证。操作步骤如下:


一、先确认已配置好 SSH 密钥登录(非常重要)

在禁用密码前,必须保证你能用密钥登录,否则会被锁在服务器外。

ssh-keygen
ssh-copy-id user@server_ip

测试一下:

ssh user@server_ip

能免密登录再继续。


二、修改 SSH 配置文件

编辑配置文件:

sudo vi /etc/ssh/sshd_config

修改或确认以下参数:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no        # 建议禁止 root 直接登录(可选)
ChallengeResponseAuthentication no

⚠️ 注意:

  • 如果有 # 注释,去掉
  • 确保没有被后面的配置覆盖

三、重启 SSH 服务

CentOS 7 / 8

sudo systemctl restart sshd

CentOS 6

service sshd restart

四、验证是否生效

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

ssh user@server_ip
  • 使用密码应被拒绝
  • 使用密钥可登录

五、常见问题

1. 修改后还能用密码登录?

检查是否有其他配置文件:

ls /etc/ssh/sshd_config.d/

如有,查看是否覆盖了 PasswordAuthentication

2. SELinux 影响?

一般不会,但可检查:

getenforce

六、补充(增强安全)

  • 修改默认端口
  • 使用 fail2ban
  • 禁止 root 登录
  • 使用防火墙限制 IP

如果你告诉我 CentOS 版本(6/7/8/Stream) 和 是否用 root 登录,我可以给你更精确的配置。

0 踩