在 CentOS 上测试 SFTP(SSH 文件传输协议),通常可以从 本机测试 和 远程测试 两个角度进行。下面按常见场景给你一个完整实用的说明。
SFTP 是通过 SSH 提供的,因此本质是测 SSH。
systemctl status sshd
如果未启动:
systemctl start sshd
systemctl enable sshd
确认端口(默认 22):
ss -lntp | grep sshd
sftp localhost
或指定用户:
sftp user@localhost
成功示例:
sftp>
常用测试命令:
pwd
ls
cd /
bye
✅ 能进 sftp> 说明 SFTP 服务正常。
sftp user@centos_ip
例如:
sftp root@192.168.1.10
如果 SSH 不是 22 端口:
sftp -P 2222 user@centos_ip
⚠️ 注意:
sftp 使用 大写 -Pscp 使用小写 -P如果你配置了 仅 SFTP 用户(如 /bin/false 或 internal-sftp),可以这样验证:
ssh user@centos_ip
✅ 如果 SSH 登录失败,但 SFTP 可用,说明配置正确。
telnet centos_ip 22
或
nc -vz centos_ip 22
检查:
firewall-cmd --list-all
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
systemctl status sshd
sftp user@ip
✅ 能进 sftp> 就说明 SFTP 正常。
如果你愿意,可以告诉我:
我可以给你更精确的测试方案。