温馨提示×

centos怎样测试sftp是否通

小樊
44
2026-09-30 03:29:12
栏目: 智能运维

在 CentOS 上测试 SFTP 是否通,可以从网络连通性、服务端口、登录认证几个层面来做。下面按常用程度给你几个方法。


一、测试 SFTP 端口是否通(最基础)

SFTP 默认走 SSH 的 22 端口

1️⃣ 使用 telnet(最简单)

telnet sftp服务器IP 22

✅ 如果看到类似:

SSH-2.0-OpenSSH_7.4

说明 端口是通的

❌ 如果卡住或 Connection refused → 端口不通或服务没开


2️⃣ 使用 nc(推荐)

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 用户名@sftp服务器IP

例如:

sftp testuser@192.168.1.10

✅ 能进入 sftp> 交互界面 → SFTP 完全正常

❌ 报错示例:

  • Connection refused → 服务未启动
  • Permission denied → 账号/密码/密钥问题
  • Connection timed out → 网络或防火墙问题

三、测试 SSH(SFTP 底层依赖 SSH)

ssh 用户名@sftp服务器IP

如果能 SSH 登录,SFTP 一定可用(除非限制了 sftp)


四、检查本机 SFTP 服务状态(如果是本机做服务器)

systemctl status sshd

或

service sshd status

确保是 active (running)


五、检查防火墙(常见坑)

查看防火墙

firewall-cmd --list-all

放行 22 端口

firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload

六、检查 SELinux(偶尔影响)

getenforce

如果是 Enforcing,可临时关闭测试:

setenforce 0

七、抓包级排查(高级)

tcpdump -i eth0 port 22

然后再尝试连接,看是否有请求到达。


总结(最快三步)

nc -zv IP 22
ssh user@IP
sftp user@IP

如果你愿意,可以把:

  • 是 客户端还是服务器
  • 报错信息
  • CentOS 版本

发出来,我可以帮你精准定位问题。

0 踩