在 CentOS 上测试 SFTP 是否通,可以从网络连通性、服务端口、登录认证几个层面来做。下面按常用程度给你几个方法。
SFTP 默认走 SSH 的 22 端口
telnet sftp服务器IP 22
✅ 如果看到类似:
SSH-2.0-OpenSSH_7.4
说明 端口是通的
❌ 如果卡住或 Connection refused → 端口不通或服务没开
nc -zv sftp服务器IP 22
示例:
nc -zv 192.168.1.10 22
输出:
Connection to 192.168.1.10 22 port [tcp/ssh] succeeded!
sftp 用户名@sftp服务器IP
例如:
sftp testuser@192.168.1.10
✅ 能进入 sftp> 交互界面 → SFTP 完全正常
❌ 报错示例:
Connection refused → 服务未启动Permission denied → 账号/密码/密钥问题Connection timed out → 网络或防火墙问题ssh 用户名@sftp服务器IP
如果能 SSH 登录,SFTP 一定可用(除非限制了 sftp)
systemctl status sshd
或
service sshd status
确保是 active (running)
firewall-cmd --list-all
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload
getenforce
如果是 Enforcing,可临时关闭测试:
setenforce 0
tcpdump -i eth0 port 22
然后再尝试连接,看是否有请求到达。
nc -zv IP 22
ssh user@IP
sftp user@IP
如果你愿意,可以把:
发出来,我可以帮你精准定位问题。