Частичная аутентификация SFTP с использованием publickey, парольные предпочтительные методы аутентификации

495
jay

Я столкнулся с проблемой при попытке подключиться к SFTP-серверу, который требует аутентификации с открытым ключом и паролем.

Исходный сервер является полностью современным сервером CentOS 7 (показывает отладку SFTP OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017). Намерение - это простой bash-скрипт для загрузки файлов.

При подключении без указания предпочтительного порядка аутентификации (т.е. при использовании значения по умолчанию publickey,password) он застревает в цикле предоставления ключа и никогда не запрашивает пароль:

sftp -v -i uat.key -oBatchMode=no <username>@<host> ... debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: password,publickey debug1: Next authentication method: publickey debug1: Trying private key: uat.key Authenticated with partial success. debug1: Authentications that can continue: password,publickey debug1: Trying private key: uat.key Authenticated with partial success. debug1: Authentications that can continue: password,publickey debug1: Trying private key: uat.key Authenticated with partial success. ...loops forever 

При изменении методов аутентификации он затем запрашивает пароль 3 раза, прежде чем продолжить (успешно!), Что, очевидно, вызывает проблемы с автоматизацией:

sftp -v -i uat.key -oPreferredAuthentications=password,publickey -oBatchMode=no <username>@<host> debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: password,publickey debug1: Next authentication method: password <username>@<host>'s password: Authenticated with partial success. debug1: Authentications that can continue: password,publickey Permission denied, please try again. <username>@<host>'s password: Authenticated with partial success. debug1: Authentications that can continue: password,publickey Permission denied, please try again. <username>@<host>'s password: Authenticated with partial success. debug1: Authentications that can continue: password,publickey debug1: Next authentication method: publickey debug1: Trying private key: uat.key debug1: Authentication succeeded (publickey). Authenticated to <username>@<host> ([<ip>]:22). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: pledge: network debug1: Sending environment. debug1: Sending env LANG = en_GB.UTF-8 debug1: Sending subsystem: sftp Connected to <username>@<host>. sftp> exit 

Мои исследования привели меня к этой статье IBM от 2012 года, которая охватывает вторую проблему, однако мне не удалось найти обходной путь для моего цикла частичной аутентификации в первой команде.

Может кто-нибудь более опытный с OpenSSH пролить свет на эту проблему?

2

0 ответов на вопрос