2

Можно ли автоматически копировать файлы на мой компьютер Linux с другого компьютера Linux с помощью FTP? Под «автоматически» я подразумеваю, что FTP должен будет обрабатывать отправку комбинации логина и пароля, а также копировать файлы самостоятельно.

Обе машины работают под управлением Red Hat 5.1. Я хочу, например, получить файл /root/file со второго компьютера с Linux на мою машину и поместить его в /var/tmp не вводя логин / пароль вручную.

Я не expect на своей машине, и я не хочу использовать SSH-аутентификацию.

Если это не может быть сделано автоматически по FTP, пожалуйста, предложите альтернативное решение, такое как скрипт Python.

2 ответа2

5

Вы можете использовать клиентскую программу lftp и использовать сценарий FTP.


lftp поддерживает файл конфигурации ~/.netrc , в котором вы можете хранить свои учетные данные:

machine <hostname> login <user> password <password>

Вы можете сохранить последовательность команд FTP в файле и выполнить их с помощью lftp , например:

open <hostname>
cd /var/tmp
put /root/file optional_new_filename

Путь в cd находится на удаленном хосте, первым аргументом, который нужно put является локальный файл.

Тогда просто беги

lftp -f <filename>
0

Вы всегда можете сохранить учетные данные в файле и передать их в качестве аргумента скрипту, который вызывает команду FTP, однако я рекомендовал бы вместо этого использовать SFTP (FTP через SSH) с аутентификацией на основе ключей согласно моему ответу на другой пост. Аутентификация на основе ключей более безопасна, и ваши данные и каналы входа будут зашифрованы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .