温馨提示×

CentOS如何测试SFTP

小樊
58
2026-07-20 10:49:08
栏目: 智能运维

CentOS 上测试 SFTP(SSH 文件传输协议),通常可以从 本机测试远程测试 两个角度进行。下面按常见场景给你一个完整实用的说明。


一、确认 SFTP 依赖的服务是否已启动

SFTP 是通过 SSH 提供的,因此本质是测 SSH。

systemctl status sshd

如果未启动:

systemctl start sshd
systemctl enable sshd

确认端口(默认 22):

ss -lntp | grep sshd

二、本机测试 SFTP(简单快速)

1️⃣ 使用 sftp 命令测试

sftp localhost

或指定用户:

sftp user@localhost

成功示例:

sftp>

常用测试命令:

pwd
ls
cd /
bye

✅ 能进 sftp> 说明 SFTP 服务正常。


三、远程测试 SFTP(最常见)

1️⃣ 在另一台 Linux / macOS 上测试

sftp user@centos_ip

例如:

sftp root@192.168.1.10

2️⃣ 在 Windows 上测试

✅ 方法一:使用 WinSCP(推荐)

  • 协议选择 SFTP
  • 端口:22
  • 用户名 / 密码

✅ 方法二:使用 FileZilla

  • 协议:SFTP - SSH File Transfer Protocol
  • 主机:CentOS IP
  • 端口:22

四、测试指定端口的 SFTP

如果 SSH 不是 22 端口:

sftp -P 2222 user@centos_ip

⚠️ 注意:

  • sftp 使用 大写 -P
  • scp 使用小写 -P

五、测试 SFTP 是否仅限 SFTP(禁止 SSH)

如果你配置了 仅 SFTP 用户(如 /bin/falseinternal-sftp),可以这样验证:

ssh user@centos_ip

✅ 如果 SSH 登录失败,但 SFTP 可用,说明配置正确。


六、常见问题排查

1️⃣ 连接超时

telnet centos_ip 22

nc -vz centos_ip 22

检查:

  • 防火墙
  • 安全组(云服务器)

2️⃣ 防火墙放行 SSH

firewall-cmd --list-all
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload

3️⃣ SELinux 影响(较少见)

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

七、快速总结(最常用)

systemctl status sshd
sftp user@ip

✅ 能进 sftp> 就说明 SFTP 正常。


如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 本机测试还是远程
  • 是否有 仅 SFTP 用户 / chroot 配置

我可以给你更精确的测试方案。

0