bash загрузка файла на удаленный сервер через sftp
Нужно дублировать бекапы на удаленный сервер, нашел решение, позволяющее делать это через ftp
ftp -n server.com <<END_SCRIPT
quote USER username
quote PASS password
dir
ascii
put /home/file.gz file.gz
dir
quit
END_SCRIPT
exit 0
Каким образом можно передавать файл через sftp? После замены ftp на sftp и удаления ключа -n скрипт при запуске запрашивает пароль. На баше никогда раньше не писал, не могу найти подходящее решение.
ftp -n server.com <<END_SCRIPT
quote USER username
quote PASS password
dir
ascii
put /home/file.gz file.gz
dir
quit
END_SCRIPT
exit 0
Каким образом можно передавать файл через sftp? После замены ftp на sftp и удаления ключа -n скрипт при запуске запрашивает пароль. На баше никогда раньше не писал, не могу найти подходящее решение.
1 ответов
Автоматом указать пароль не получится. Надо настраивать беспарольное подключение. Для этого надо обменяться публичными ключами. Сам такое не делал, поэтому отправляю в гугл. Вот, для примера.
Может быть проще и использовать scp ?
Тогда команда будет выглядеть:
scp file.gz server:/path/to
Предварительно настроить ssh что-бы не спрашивало пароль