温馨提示×

如何测试debian sftp连通

小樊
46
2026-10-12 10:34:26
栏目: 智能运维

在 Debian 上测试 SFTP 连通性,可以从客户端和服务端两个角度来做。下面按常见场景说明。


一、作为客户端测试能否连上 SFTP 服务器

1. 使用 sftp 命令(最常用)

sftp user@server_ip

或指定端口:

sftp -P 22 user@server_ip

成功后会进入:

sftp>

可输入:

ls
pwd

测试是否正常。


2. 使用 ssh 测试底层连通(SFTP 基于 SSH)

ssh user@server_ip

如果能 SSH 登录,SFTP 一般没问题。


3. 使用 telnet / nc 测试端口

telnet server_ip 22

或

nc -zv server_ip 22

看到 Connected 或 succeeded 说明端口通。


4. 使用 curl 测试(高级)

curl -u user:password sftp://server_ip/

二、在 Debian 上测试本机 SFTP 服务是否正常

1. 确认 SSH / SFTP 服务已安装

dpkg -l | grep openssh-server

未安装则:

sudo apt update
sudo apt install openssh-server

2. 确认服务运行

systemctl status ssh

或

sudo service ssh status

3. 本机测试 SFTP

sftp localhost

或

sftp user@127.0.0.1

4. 检查 SFTP 子系统配置

编辑:

sudo nano /etc/ssh/sshd_config

确认有:

Subsystem sftp /usr/lib/openssh/sftp-server

修改后重启:

sudo systemctl restart ssh

三、常见问题排查

防火墙

sudo ufw status

确保 22 端口允许:

sudo ufw allow 22

用户被限制

  • 用户 shell 是否为 /usr/sbin/nologin 或 /bin/false
  • SFTP 专用用户配置(chroot)

日志查看

sudo journalctl -u ssh

或

sudo tail -f /var/log/auth.log

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

  • 是连别人服务器还是本机搭服务
  • 是否使用非 22 端口
  • 是否只允许 SFTP 不允许 SSH

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

0 踩