3

Я знаю, это не рекомендуемый способ сделать это. Но у меня нет другого выбора:

Мне нужно настроить задание cron, которое будет регулярно загружать файл на внешний SFTP-сервер (FTP недоступен, и у меня есть только имя пользователя / пароль, но нет ключа ).

Тем не менее, мне нужно настроить cron, который будет регулярно подключаться к этому sftp и загружать файл.

sftp <<EOF
put filename
exit
EOF

поэтому не будет работать, потому что sftp запрашивает пароль, прежде чем STDIN будет оценен.

Что я могу сделать, чтобы передать пароль в sftp?

Снова: я знаю о потенциальной угрозе безопасности, но у меня действительно нет никакого выбора здесь, и сервер, с которого загружен файл, защищен довольно хорошо.

2 ответа2

3

Укажите переменную среды SSH_ASKPASS для пользовательской программы, которая выводит пароль на стандартный вывод.

0

Другой вариант будет использовать curl:

curl -u user:password -T file.tar sftp://example.com/home/user/

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