温馨提示×

CentOS怎么测试SFTP连通

小樊
38
2026-08-18 22:20:56
栏目: 智能运维

在 CentOS 上测试 SFTP 是否可连通,可以从本机测试远程测试两个角度来做。下面按常见场景给你一套完整做法。


一、确认 SFTP 服务是否运行(CentOS 7/8)

SFTP 通常由 sshd 提供,先确认服务状态:

systemctl status sshd

如果没启动:

systemctl start sshd
systemctl enable sshd

二、本机测试 SFTP(最基础)

在服务器本机执行:

sftp localhost

或指定用户:

sftp username@localhost

✅ 成功示例:

Connected to localhost.
sftp>

❌ 失败常见提示:

  • Connection refused → sshd 没启动或端口不对
  • Permission denied → 用户名/密码或权限问题

退出:

exit

三、从远程机器测试 SFTP

1️⃣ 使用 sftp 命令(推荐)

在另一台 Linux / macOS 机器上:

sftp username@服务器IP

例如:

sftp root@192.168.1.100

如果 SSH 端口不是 22:

sftp -P 2222 username@服务器IP

2️⃣ 使用 ssh 先测试(很重要)

SFTP 依赖 SSH,先确认 SSH 是否通:

ssh username@服务器IP

➡ 如果 SSH 都连不上,SFTP 一定不行。


四、端口连通性测试(防火墙排查)

1️⃣ 测试端口是否通(TCP 22)

telnet 服务器IP 22

或:

nc -vz 服务器IP 22

✅ 成功:

Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!

2️⃣ 检查防火墙(CentOS 7/8)

firewall-cmd --list-ports

如果 22 没开放:

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

五、检查 SELinux(少见但可能)

getenforce

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

setenforce 0

如果关闭后 SFTP 正常,再针对性配置 SELinux。


六、查看 SFTP 配置(sshd_config)

vim /etc/ssh/sshd_config

确认以下内容存在且未被注释:

Subsystem sftp /usr/libexec/openssh/sftp-server

修改后重启 SSH:

systemctl restart sshd

七、Windows 客户端测试(可选)

  • WinSCP
  • FileZilla
  • PowerShell

PowerShell 示例:

sftp user@服务器IP

八、常见问题速查表

问题 原因
Connection refused sshd 未启动 / 端口不通
Permission denied 用户名/密码错误 / 禁止密码登录
能 SSH 不能 SFTP sftp subsystem 配置错误
超时 防火墙 / 安全组 / 网络

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 报错信息
  • ✅ 是本地还是远程连不上

我可以帮你精准定位问题。

0