在 CentOS 中,SFTP 本身并不单独存密码,它通常使用的是系统用户(SSH 用户)的密码。所以“重置 SFTP 密码”实际上就是重置该用户的 Linux 登录密码。
下面分情况说明。
cat /etc/passwd | grep sftp
或看 SSH 配置:
grep -R "Match User" /etc/ssh/sshd_config
假设用户是 sftpuser:
passwd sftpuser
按提示输入两次新密码即可。
passwd
输入旧密码后设置新密码(前提是知道旧密码)。
很多 SFTP 用户配置为:
/sbin/nologin
这不影响密码修改,仍然用:
passwd sftpuser
CentOS 常见配置:
Match User sftpuser
ChrootDirectory /data/sftp
ForceCommand internal-sftp
✅ 密码修改方式不变:
passwd sftpuser
一般不需要,但如果你遇到问题可以:
systemctl restart sshd
⚠️ 注意:
kill SSH,避免断连如果 SFTP 只用 key 登录:
# 禁用密码
grep PasswordAuthentication /etc/ssh/sshd_config
这时候改密码没用,需要改密钥或开启密码登录。
ssh sftpuser@localhost
# 或
sftp sftpuser@localhost
如果你愿意,可以告诉我:
我可以给你更精确的操作步骤。