温馨提示×

centos怎么设置ssh密码

小樊
34
2026-07-19 07:55:19
栏目: 智能运维

CentOS 上设置或修改 SSH 登录密码,其实是设置 系统用户密码,因为 SSH 默认使用系统账号认证。下面分情况说明。


一、修改当前用户密码

如果你已经登录系统,直接执行:

passwd

按提示输入 当前密码新密码确认新密码


二、修改其他用户密码(需要 root 权限)

例如给用户 testuser 设置密码:

passwd testuser

只有 root 用户才能修改其他用户的密码,不需要知道旧密码。


三、确认 SSH 允许密码登录

修改完密码后,必须确认 SSH 服务允许密码认证,否则仍然无法登录。

1️⃣ 编辑 SSH 配置文件

vi /etc/ssh/sshd_config

确保以下配置存在且未被注释:

PasswordAuthentication yes

如果原来是:

#PasswordAuthentication no

改成:

PasswordAuthentication yes

2️⃣ 重启 SSH 服务

CentOS 7 / 8 / Stream

systemctl restart sshd

CentOS 6(老版本)

service sshd restart

四、防火墙 & SELinux(常见问题)

1️⃣ 防火墙放行 SSH(默认 22)

firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

或直接关闭防火墙(不推荐生产环境):

systemctl stop firewalld
systemctl disable firewalld

2️⃣ SELinux(一般不用改)

如果仍无法登录,可临时关闭测试:

setenforce 0

正式环境建议保持 SELinux 开启。


五、用密码登录 SSH

ssh 用户名@服务器IP

示例:

ssh root@192.168.1.100

六、常见问题排查

❌ SSH 仍然无法登录

检查:

  • 用户是否被锁定
    passwd -S 用户名
    
  • 是否禁止 root 登录(CentOS 常见)

/etc/ssh/sshd_config 中:

PermitRootLogin yes

七、补充:建议用密钥登录(更安全)

如果你愿意,我可以教你 禁用密码登录,只用 SSH 密钥


如果你愿意,可以告诉我:

  • CentOS 版本(centos 7 / 8 / stream
  • 本地虚拟机 / 云服务器 / 物理机 我可以直接给你一套完整配置方案 ✅

0