当我在转发本地端口的同时登录 SSH 时,它是 21 FTP 端口,命令如下:
ssh -R 2101:本地主机:21[电子邮件受保护]-p 8288
成功登录后,我在 SSH 中发送了以下命令:
ftp ikiw@localhost -p 2101
该命令运行正常,并且我也成功顺利登录 FTP,但是在 FTP 中时,我想查看该命令可用的文件列表,ls
或者dir
出现此错误:
ftp:无法连接到“::1:27394”:连接被拒绝
怎么了?当我运行命令时,FTP 是否会随机创建一个新端口ls
?
我想将我的本地 FTP 转发到我的 SSH/VPS,并正常从我的 SSH/VPS 运行 FTP 到我的本地计算机,有人可以帮助我并提供解决方案吗?非常感谢! :D
答案1
FTP 是一个可怕的协议。是的,它使用多个端口;有控制端口,然后每次数据传输(ls
或get
等等)都会打开第二个新的随机端口。
更糟糕的是,根据您使用的是 PASV 还是主动模式 FTP,服务器可以尝试启动连接。
FTP 处理这样的转发并不容易。既然你有 ssh 连接,你不能使用吗sftp
?这是一个类似 FTP 的协议,直接内置于 ssh 中,因此无需端口转发。
答案2
FTP 似乎正在尝试使用 IP6,但您仅通过 IP4 建立隧道。尝试使用 -4 选项启动 ftp。