укороченная версия: рабочий эквивалент scp -3 http://user:pass@example.org/somefile ftp://user:pass@ftpserver/my/path
подробная версия:
+------+ +-------+ +-------------+
| HTTP +---------------> linux +-------------> FTP server |
+------+ WWW +-------+ LAN +-------------+
Я хочу передать HTTP-файл на FTP-сервер через хост Linux. без сохранения всего файла на хосте linux, просто действуя как буфер между конечными точками
Как это сделать проще всего?
Спасибо
Смонтируйте каталог ftp:
curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password
Затем вы можете легко загрузить выбранные файлы в эту папку:
wget http://user:pass@example.org/somefile -O /mnt/ftp/your/path/somefile
Наконец, отключите ftp:
fusermount -u /mnt/ftp
Самый простой способ - это построить туннель SSH. Ваша машина подключается к Linux-машине через ssh, а затем этот компьютер перенаправляет весь трафик в этом туннеле на второй хост. На вашем локальном хосте порт открывается, и вы можете просто подключить FTP-клиент к этому порту, и он будет перенаправлен на FTP-сервер.
ssh -L <localport>:<ftpserver>:21 user@<linux FQDN>