CentOS SFTP配置错误排查与修复
一 快速定位与通用修复
二 常见报错与对应修复
| 症状 | 可能原因 | 修复要点 |
|---|---|---|
| Connection closed by remote host / Received unexpected end of file | SSH服务未运行、端口未放行、配置语法错误 | 启动sshd,放行22/tcp,核对sshd_config语法并重启 |
| 登录后无法列出目录或写入失败 | ChrootDirectory上级目录非root所有、权限过宽、用户家目录权限不当 | Chroot目录及上级必须为root:root且0755;用户可写目录放在Chroot下子目录并赋权 |
| 使用internal-sftp仍被拒绝或报错 | Match段顺序/范围不当、ForceCommand internal-sftp缺失、权限不符 | 将Match段放在文件末尾,确保ForceCommand internal-sftp,并校正目录权限 |
| 登录极慢 | GSSAPIAuthentication开启导致反向解析延迟 | 在sshd_config设置GSSAPIAuthentication no并重启 |
| root无法SFTP登录 | PermitRootLogin或PasswordAuthentication限制 | 按需设置PermitRootLogin yes与PasswordAuthentication yes后重启 |
| 被动模式列表失败(部分客户端) | 误以为需开放额外“SFTP端口” | SFTP基于SSH 22/TCP,无需额外端口;确认仅放行22并排查客户端被动模式设置 |
三 推荐的最小可用配置示例
四 权限与SELinux要点
五 仍未解决时的高效求助信息