HTTP para FTP com cliente remoto

2
  • versão curta : um equivalente funcional a scp -3 http://user:[email protected]/somefile ftp://user:pass@ftpserver/my/path

  • versão detalhada :

        +------+               +-------+             +-------------+
        | HTTP +---------------> linux +------------->  FTP server |
        +------+    WWW        +-------+    LAN      +-------------+
    
    • Eu tenho um recurso HTTP na web. digamos link
    • Eu tenho um host linux (RaspberryPi) conectado ao servidor FTP abaixo
    • Eu tenho um servidor FTP (caixa mediacenter)

    Eu quero transferir o arquivo HTTP para o servidor FTP através do host linux. sem armazenar o arquivo inteiro no host linux, apenas atuando como buffer entre os endpoints

Qual é a maneira mais fácil de fazer isso?

obrigado

    
por exeral 19.09.2016 / 14:32

2 respostas

3

Monte o diretório ftp:

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

Então você pode facilmente baixar os arquivos selecionados para esta pasta:

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

Finalmente, umount ftp:

fusermount -u /mnt/ftp 
    
por 19.09.2016 / 14:58
0

A maneira mais fácil é provavelmente construir um túnel SSH. Sua máquina se conecta à máquina linux via ssh, e esta máquina então encaminha todo o tráfego naquele túnel para um segundo host. Em seu host local, uma porta é aberta e você pode simplesmente conectar um cliente FTP a essa porta e ela será encaminhada para o servidor FTP.

ssh -L <localport>:<ftpserver>:21 user@<linux FQDN>
    
por 19.09.2016 / 14:40