SFTP-partielle Authentifizierung unter Verwendung von Publickey, bevorzugte Authentifizierungsmethoden für Kennwörter

555
jay

Beim Versuch, eine Verbindung zu einem SFTP-Server herzustellen, der sowohl die Authentifizierung mit einem öffentlichen Schlüssel als auch mit einem Kennwort erfordert, tritt ein Problem auf .

Der Quellserver ist ein vollständig aktueller CentOS 7-Server (SFTP-Debug zeigt OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017). Die Absicht ist ein einfaches Bash-Skript, um Dateien zu laden.

Bei der Verbindung ohne Angabe der bevorzugten Authentifizierungsreihenfolge (z. B. bei Verwendung der Standardeinstellung publickey,password) bleibt sie in einer Schleife hängen, in der Sie den Schlüssel angeben und niemals das Kennwort anfordern:

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 

Bei der Umkehrung der auth-Methoden wird dann dreimal das Kennwort abgefragt, bevor Sie fortfahren können (erfolgreich!), Was offensichtlich Probleme mit der Automatisierung verursacht:

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 

Mein Graben hat mich zu diesem IBM-Artikel aus 2012 geführt, der das zweite Problem behandelt. Allerdings konnte ich im ersten Befehl keine Problemumgehung für meine partielle Authentifizierungsschleife finden.

Kann jemand mit OpenSSH etwas mehr Aufklärung über dieses Problem haben?

2

0 Antworten auf die Frage