sftp
может считывать команды либо из стандартного ввода, либо из «пакетного файла».
Например, чтобы получить файл с удаленного хоста, вы должны использовать команду get
:
echo 'get /path/to/file' | sftp user@10.10.10.2
Или вы можете использовать здесь документ -для передачи команды (s )вsftp
:
sftp user@10.10.10.2 <<'END'
get /path/to/file
END
Или у вас может быть та же самая команда get
в файле, на который вы ссылаетесь с параметром командной строки -b
sftp
:
sftp -b somefile user@10.10.10.2
Файл или файлы, которые вы передаете в локальную систему, будут помещены в текущий каталог (, если это не будет изменено с помощью lcd
, «local cd
» в командах, которые вы отправляете вsftp
).
Чтобы подключиться без ввода пароля, настройте открытый и закрытый SSH-ключи, как описано в разделе «Как сделать так, чтобы скрипт автоматически получал пароль? ».Обратите внимание, что удаленная система вполне может отключить доступ по SSH для пользователя root (. Это разумный способ настройки сервера SSH ).