Технически возможно выполнить межсерверную передачу по FTP (вы открываете управляющие соединения для каждого сервера и настраиваете соединения для передачи данных соответствующим образом, чтобы они указывали между собой, а не на ваш локальный хост). Я сделал это вручную (хотя и много лет назад), но я не знаю ни одного "дружественного" клиентского приложения, поддерживающего эту функцию.
Если любой из хостов разрешает вам доступ по SSH, вы можете просто использовать ftp
утилиту командной строки, чтобы отправить файл напрямую таким образом:
- войти на сервер через SSH
- Перейдите в правильный каталог (где файл либо есть, либо хочет пойти)
- запустите
ftp <name_or_IP_address_of_other_server>
и введите свое имя пользователя и пароль при появлении запроса - Перейдите в каталог, где находится файл (или он хочет перейти) с помощью
cd
команды - введите
binary
команду, чтобы убедиться, что в передаче не происходит преобразований перевода строки (или аналогичных) - выдать,
hash
если вы хотите немного индикации прогресса во время передачи файла - если вы отправляете файл с сервера, который вы использовали в SSH, введите
put <filename>
команду, и если вы хотите извлечь файл с другого сервера на тот, на котором вы вошли в системуget <filename>
. - подождите ... (даже если вы получаете 100-мегабитную передачу между серверами, 2-гигабайтный файл займет несколько минут)
Для получения более подробной информации о командной строке ftp-клиент либо запустите man ftp
на сервере, либо посмотрите онлайн-копию man-страниц, таких как эта (хотя чтение локальной man-страницы сервера для команды немного безопаснее, поскольку вы точно знаете, что она говорит о версии у вас есть).
Если оба хоста разрешают вам доступ по SSH, то это немного проще, так как в большинстве случаев SCP / SFTP также будет включен, и вы можете сделать это:
- войдите на сервер, на который необходимо скопировать файл
- перейдите в каталог, где файл должен быть
- запустить команду как
scp user@other.server.tld:~/path/filename .
или же
- войдите на сервер, на котором в данный момент находится файл
- запустить команду как
scp path/to/file/filename user@other.server.tld:~/
Еще один вариант, если конечный сервер разрешает доступ по SSH и файл, который вы хотите передать на него, доступен через HTTP или HTTPS, это передать файл по HTTP (S) с помощью wget (на большинстве хостов wget будет установлен на их серверах) :
- войдите на сервер, на который необходимо скопировать файл
- перейдите в каталог, где файл должен быть
- запустить команду как
wget http://source.server.tld/path/filename