2016-06-10 10 views
0

В последнее время серверы с SFTP-сервером включаются с использованием двухфакторной аутентификации. Подробнее см. Здесь link.Автоматизация входа в SFTP с использованием как ключа, так и пароля

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

sshpass -p password sftp -oBatchMode=no -oStrictHostKeyChecking=no [email protected] 

sftp -oIdentityFile=/path/to/private/key/file -oBatchMode=no -oStrictHostKeyChecking=no [email protected] 

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

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

ответ

0

Как трудно это может быть, чтобы поставить обе линии вместе:

sshpass -p password sftp -oBatchMode=no -oStrictHostKeyChecking=no \ 
    -oIdentityFile=/path/to/private/key/file [email protected] 

ssh сам будет заботиться о обоих методах проверки подлинности.

+0

Я уже пробовал, и это не работает. SFTP-сервер просто говорит: «Проверено с частичным успехом». и не предоставляет запрос sftp. Любые другие решения? – Vino

+0

опубликуйте подробный журнал с попытки (с '-vvv' переключается на' sftp'). – Jakuje