Автоматизируйте вход в SFTP, используя как ключ, так и пароль

Недавно на серверах SFTP была включена двухфакторная аутентификация. Подробности см. в ссылка здесь.

Теперь у нас есть требование автоматизировать эту настройку с помощью командной строки. Я обнаружил, что это два разных варианта для этого:

 sshpass -p password sftp -oBatchMode=no -oStrictHostKeyChecking=no username@server1

 sftp -oIdentityFile=/path/to/private/key/file -oBatchMode=no -oStrictHostKeyChecking=no username@server1

Но теперь мне нужно объединить эти две команды в одну и использовать ее в своем сценарии для автоматизации этого потока sftp.

Итак, сначала мне нужно отправить файл закрытого ключа в командной строке, а затем отправить пароль в той же командной строке. Я пробовал несколько вариантов, но это не сработало.


person Vino    schedule 10.06.2016    source источник


Ответы (1)


Как трудно совместить обе строки вместе:

sshpass -p password sftp -oBatchMode=no -oStrictHostKeyChecking=no \
  -oIdentityFile=/path/to/private/key/file username@server1

ssh сам позаботится об обоих методах аутентификации.

person Jakuje    schedule 10.06.2016
comment
Я уже пробовал это, и это не работает. Сервер SFTP просто говорит, что Аутентифицировано с частичным успехом. и не предоставляет приглашение sftp. Любое другое решение, пожалуйста? - person Vino; 13.06.2016
comment
опубликуйте подробный журнал с попытки (с переключением -vvv на sftp). - person Jakuje; 13.06.2016
comment
Хотя я понимаю, что это старая проблема, этот подход сработал для меня. - person Mike Nishizawa; 26.03.2021
comment
@MikeNishizawa Вот за что у нас есть голоса. - person Jakuje; 27.03.2021
comment
@Jakuje Я 1 голос. - person Mike Nishizawa; 28.03.2021