CentOS SFTP配置失败的快速排查与修复
一 基础检查
二 常见错误与对应修复
错误:Received unexpected end of file from SFTP server
修复:确认 sshd 运行、端口 22 已放行;在 /etc/ssh/sshd_config 使用 internal-sftp 并为受限用户配置 ChrootDirectory,示例:
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
修改后执行 systemctl restart sshd。
错误:Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password)
修复:
错误:Connection reset by peer / 登录后立即断开
修复:多半为 sshd_config 语法/冲突或权限问题。使用 journalctl -u sshd 查看具体行号;确保仅保留一个 Subsystem sftp 定义;若启用 ChrootDirectory,其上级目录必须 root 拥有且 755,子目录再赋权给业务用户。
错误:登录后无法列目录 / 写入失败
修复:
三 推荐的最小可用配置示例
四 仍未解决时的定位建议