温馨提示×

centos如何关闭ssh密码

小樊
41
2026-09-08 17:30:31
栏目: 智能运维

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


一、先确保密钥登录可用(非常重要)

否则一旦关了密码,可能直接连不上服务器。

1. 生成密钥(本地电脑执行)

ssh-keygen -t rsa -b 4096

2. 把公钥传到 CentOS

ssh-copy-id user@centos_ip

或手动把 ~/.ssh/id_rsa.pub 内容追加到服务器的:

~/.ssh/authorized_keys

3. 测试密钥能否登录

ssh user@centos_ip

✅ 能登录再继续


二、修改 SSH 配置(CentOS 服务器端)

编辑配置文件:

sudo vi /etc/ssh/sshd_config

修改或确认以下参数:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no   # 建议禁止 root 密码登录(可选)
ChallengeResponseAuthentication no
UsePAM no

三、重启 SSH 服务

CentOS 7 / 8 / Stream

sudo systemctl restart sshd

CentOS 6(老版本)

service sshd restart

四、验证是否生效

重新开一个终端测试:

ssh user@centos_ip
  • ✅ 有密钥:可登录
  • ❌ 无密钥:直接被拒绝

五、常见问题

1. 连接被拒绝 / 登不上

  • 检查 authorized_keys 权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  • 所属用户正确

2. SELinux 影响(少见)

restorecon -Rv ~/.ssh

六、可选:只禁止密码但允许 root 密钥

PermitRootLogin prohibit-password

如果你是说 完全关闭 SSH(停止服务)只允许特定用户,也可以告诉我,我可以给你对应方案。

0