温馨提示×

CentOS怎么修改SFTP密码

小樊
38
2026-08-04 00:00:42
栏目: 智能运维

在 CentOS 上修改 SFTP 密码,本质上就是修改 系统用户的密码,因为 SFTP 一般是基于 SSH 的用户认证。下面是几种常见方式,按使用场景说明。


一、使用 passwd 命令(最常用 ✅)

如果你有服务器登录权限(root 或该用户本身):

1️⃣ 修改当前用户自己的密码

passwd

然后按提示输入旧密码和新密码。


2️⃣ root 修改其他用户的 SFTP 密码

passwd 用户名

示例:

passwd sftpuser

输入两次新密码即可,无需旧密码(root 权限下)


二、确认用户是否允许 SSH / SFTP 登录

有时密码改了仍无法登录,可能是用户被限制。

查看用户 shell

grep sftpuser /etc/passwd

正常应为:

sftpuser:x:1001:1001::/home/sftpuser:/bin/bash

如果是:

/sbin/nologin

/bin/false

SFTP 仍然可用,只要 SSH 配置允许(见下文)。


三、检查 SSH / SFTP 配置(重要)

查看 SSH 配置

vim /etc/ssh/sshd_config

确认以下内容:

Subsystem sftp internal-sftp

或:

Subsystem sftp /usr/libexec/openssh/sftp-server

如果使用了 SFTP 专用配置(常见)

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no

✅ 只要用户有密码 + SSH 权限,就可以 SFTP 登录。


四、修改密码后仍无法登录?

1️⃣ 重启 SSH 服务

systemctl restart sshd

2️⃣ 检查密码是否过期

chage -l sftpuser

若已过期:

chage -d 0 sftpuser

或设置永不过期:

chage -M -1 sftpuser

五、如果是使用密钥登录(无密码)

查看:

ls /home/sftpuser/.ssh/

如果有:

authorized_keys

说明是 密钥登录,改密码无效。

✅ 解决方式:

  • 禁用密钥登录
  • 或改用密码登录

六、总结(最常用命令)

# 修改 SFTP 用户密码
passwd sftpuser

# 重启 SSH
systemctl restart sshd

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

  • ✅ CentOS 版本(6 / 7 / 8 / Stream)
  • ✅ 是 root 改密码 还是 普通用户
  • ✅ 是否使用 chroot / 专用 SFTP 用户

我可以给你更精确的配置方案。

0