PDA

View Full Version : SFTP Probleme nach Release update auf V7R5, openssh Version 9.6p1



itec01
16-06-26, 08:19
Hallo Zusammen,
seit dem Update laufen manche SFTP Commands mit User und Password nicht mehr.
Es liegt wohl an der Thematik mit ASKPASS, d.h. die Verbindung benötigt ein Terminal hat aber keines.
Fehlermeldung ist dann Access denied, weil kein Passwort an die Gegenstelle übermittelt wird.
Man sieht das auch sehr schön, wenn man SFTP -vvv @IP macht, dann kommt;
debug1: Authentications that can continue: password,keyboard-interactive
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug2: readpassphrase: not a 5250 return ENOTTY

Ich habe mehrere Versuche nun mit askpass durchgeführt, aber es mag nicht funktionieren. Die Empfehlung der KI wäre SFTP mit private / public keys.

Hier mal ein Test, was ihr auch versuchen könnt. Rebex ist ein öffentlicher SFTP Server. Das PW lautet: password
Eingabe: sftp demo@test.rebex.net

Ergebnis:
Welcome to test.rebex.net! See https://test.rebex.net/ for more information.
Permission denied, please try again.
Permission denied, please try again.
demo@test.rebex.net: Permission denied (password,keyboard-interactive).
Connection closed.

Eigentlich sollte hier die Möglichkeit der Passworteingabe kommen, was bei SSH klappt.

Wie habt Ihr das gelöst?
Ich habe es mit lftp und curl versucht, da funktioniert es, ist aber wohl kein echtes SFTP.

Danke schon mal.

Gruß Klaus

Fuerchau
16-06-26, 09:00
Ich nehme mal an, dass "keyboard-interactive" eine starke Sicherheitsanforderung ist und nicht mehr umgangen werden kann. Ggf. muss man auf Alternativen zu sftp gehen, wie z.B. REST.

Ggf. hilft auch dies:
https://stackoverflow.com/questions/55691091/how-to-get-over-keyboard-interactive-authentication-prompt-in-batch-file-for-tra

itec01
16-06-26, 14:55
Danke Dir, leider nein, da lag das Problem im Passwort.
Wir haben uns ein Tool geschrieben, welches im FTP/FTPS Fall Curl und im SFTP Fall SSH nimmt.
Wenn das nicht zuverlässig funktioniert, dann müssen wir wohl oder übel bei SFTP auf Private/Public Key umstellen.
Welchen Weg nutzt ihr für SFTP, der IBMi eigene Weg funktioniert nur eingeschränkt, weil wir da zu viel außen rum benötigen.

Aber kannst du den o.g. SFTP Befehl mal bei Dir unter QSH absetzen? Hast du V7R5 oder? Welche openssh Version ist installiert. QSH ssh -V

RobertPic
17-06-26, 17:08
Mit dem Test nach draußen kann ich nicht dienen, aber das sftp verhält sich bei uns auch nicht korrekt.
D.h. ich erreiche einen Server nicht via sftp, welchen ich über ssh erreiche.



debug1: read_passphrase: can't open /dev/tty: No such device or address
debug2: readpassphrase: not a 5250 return ENOTTY
Host key verification failed.


Auf anderen Plattformen (Linux, Windows) ist der Server mit beiden Protokollen erreichbar.
Genauso wie mit unserem Werkzeugen (Java Eigenbastel). Damit hatten wir jahrelang diverse Speditionsanbindung via sftp - ohne Probleme. Derzeit nur Einsätze im Intranet.

PS.1 man kommt nicht einmal zu einer andere IBMi via SFTP...
PS.2 wir haben V7R6

itec01
18-06-26, 09:12
Danke Euch fürs testen. Man kann mit ASKPASS das versuchen zu umgehen, was auch aktuell funktioniert, nur auf Dauer ist das auch kein Zustand.

Andreas_Prouza
18-06-26, 09:15
Manche Server benötigen bei ssh/sftp Zugriffe einen private/key und die option IdentitiesOnly=yes.
Dies kannst du in der ~/.ssh/config hinterlegen oder direkt als Parameter mitgeben:
sftp -o IdentitiesOnly=yes

Ich würde das aber via ~/.ssh/config machen.
Habe hier mal eine Anleitung für ein sauberes Setup erstellt:

https://github.com/andreas-prouza/obi-extension/blob/main/asserts/docs/ssh.md

itec01
18-06-26, 09:42
sftp -o IdentitiesOnly=yes demo@test.rebex.net

(demo@test.rebex.net)Das hat leider so nicht funktioniert und es liegt nicht an irgendwelchen Berechtigungen oder dergleichen. Das Problem ist dev/tty und das wird wohl seit openssl 9.6 schärfer geprüft.

Ja, Private / Public key macht Sinn.

Andreas_Prouza
19-06-26, 07:20
Key-Authentication ist grundsätzlich für Automatisierungen der bessere Weg. Aber auch sonst.
Wenn du es mit einem Passwort benötigst, kannst du auch mit sshpass probieren:

sshpass -p deinpwd -e sftp user@hostname

Falls sshpass nicht vorhanden sein sollte: yum install sshpass