HTTP到远程客户端的FTP

  • 短版本 :一个相当于scp -3 http://user:[email protected]/somefile ftp://user:pass@ftpserver/my/path的工作scp -3 http://user:[email protected]/somefile ftp://user:pass@ftpserver/my/path

  • 详细版本

      +------+ +-------+ +-------------+ | HTTP +---------------> linux +-------------> FTP server | +------+ WWW +-------+ LAN +-------------+ 
    • 我在网上有一个HTTP资源。 让我们说http://example.org/somefile
    • 我有一个Linux主机(RaspberryPi)连接到下面的FTP服务器
    • 我有一个FTP服务器(媒体中心框)

    我想通过linux主机将HTTP文件传输到FTP服务器。 而不需要将整个文件存储在Linux主机上,只是充当端点之间的缓冲区

什么是简单的方法来做到这一点?

谢谢

挂载ftp目录:

 curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password 

然后,您可以轻松地将选定的文件下载到此文件夹:

 wget http://user:[email protected]/somefile -O /mnt/ftp/your/path/somefile 

终于在umount ftp:

 fusermount -u /mnt/ftp 

最简单的方法可能是build立一个SSH隧道。 你的机器通过ssh连接到linux机器,然后这台机器将该隧道上的所有stream量转发到第二个主机。 在您的本地主机上打开一个端口,您可以简单地将一个FTP客户端连接到该端口,并将其转发到FTP服务器。

 ssh -L <localport>:<ftpserver>:21 user@<linux FQDN>