PDA

View Full Version : SFTP connect zur AS/400 - access denied



Seiten : [1] 2

itec01
11-10-23, 12:55
Hallo Zusammen,
bekomme einen User nicht auf die AS/400 mit SFTP verbunden, andere User funktionieren problemlos.
Habe es in der DOS box auch unter filezilla versucht, leider ohne Erfolg.
Der Key Austausch funktioniert, nach der Eingabe kommt sofort access denied.
Ich habe das Home Verzeichnis geprüft, alles da, auch die Berechtigungen passen. Die Anmeldung unter FTP, 5250 oder IFS dieses Users funktioniert auch problemlos.
Habe es dann auch mit ssh und -vvv versucht, leider keine Info darüber, wieso der Zugang nicht funktioniert.

debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
Permission denied, please try again.

mit EDTF STMF('/QOpenSys/QIBM/UserData/SC1/OpenSSH/etc/sshd_config') habe ich das setting geprüft, aber auch hier scheint alles zu passen, zumal es ja mit anderen Usern funktioniert.

Hat jemand noch eine Idee?

Danke.
Gruß Klaus

Andreas_Prouza
11-10-23, 13:13
Hallo Klaus,

Hast du auch die Rechte im .ssh Verzeichnis und dem Public Key geprüft?
Hierfür muss alles passen.
https://github.com/andreas-prouza/ibm-i-build/blob/main/docs/pages/SSH.md#home-directory

Auch müssen die Rechte am Client korrekt gesetzt sein (für Home, .ssh und public key).

lg Andreas

itec01
11-10-23, 13:28
Hallo Andreas,
danke, das ging ja schnell.
ja, die Rechte passen für /Home und /Home/user/.ssh.
Ich bewege mich auf meinem Rechner (nur ein User ist registriert) und führe einen SFTP mit verschiedenen Usern aus und nur der eine funktioniert nicht.
Ich denke, am client kann es ja nicht liegen, oder?
Gruß Klaus

Andreas_Prouza
11-10-23, 14:35
Ich habe auch für unterschiedliche User einen ssh-key.
Wichtig ist auch, dass der Private Key nur für den Client user lesbar ist.
Alle anderen dürfen nicht mal drauf lesen können.

Der Owner am Client muss dein User sein, der Owner am Server der des Users.
(Auch für alle Unterordner und Dateien)

itec01
11-10-23, 14:51
Hallo Andreas,
Ich starte FileZilla und mache einmal einen Connect mit dem User A und einmal mit dem User B. User A funktioniert und User B nicht. Denke nicht, dass es am client liegt.
Ich vermute eher etwas auf der IBMi, sprich, dass für den User irgendwelche Pfade oder Umgebungsvariablen vlt. nicht passen.
Ich habe auf der IBMi einen neuen User angelegt und der SFTP Connect hat sofort funktioniert. Den User zu löschen, wo es nicht klappt ist mein Entwicklungsuser und den wollte ich nicht löschen.

Andreas_Prouza
11-10-23, 16:22
Wenn dein Private Key für User A auf deinem PC die korrekten Rechte hat und der Private Key für User B eben nicht, dann liegt es daran.

Grundsätzlich müssen folgende Faktoren geprüft werden:

Am Client

Rechte & Owner im %homepath% (755)
Rechte & Owner im %homepath%/.ssh (700)
Rechte & owner vom Public Key im %homepath%/.ssh/mykey.pub (600)
Rechte & owner vom Private Key im %homepath%/.ssh/mykey.ppk (600)


Am Server

Rechte & Owner im /home/{user} ~ (755)
Rechte & Owner im /home/{user}/.ssh (700)
Rechte & owner vom /home/{user}/.ssh/authorized_key (600)


Ich habe bei mir in der ~/.ssh/config für jede Verbindung & User einen entsprechenden Eintrag:

Host academy
HostName 10.10.10.10
IdentitiesOnly=yes
User prouza1
IdentityFile ~/.ssh/myserver_private_key_rsa_2

Host academy
HostName 10.10.10.10
IdentitiesOnly=yes
User prouza2
IdentityFile ~/.ssh/myserver_private_key_rsa_2

Andreas_Prouza
11-10-23, 16:25
Es müssen alle Rechte und Owner IMMER auf beiden Geräten stimmen (Client & Server).
Passt irgendeine Komponente nicht, gibt's ein Problem.
Leider liefert SSH keine Fehlermeldung woran es liegt.

Manche meinen es sei ein Sicherheitsfeature, ähnlich bei der Anmeldung im TELNET wenn lediglich das Passwort nicht stimmt, man aber eine allgemeine Fehlermeldung bekommt, damit der Client nicht weiß, dass zumindest der User stimmt.

Wenn du die oben genannten Prüfungen machst, solltest du den Fehler finden können.

itec01
11-10-23, 16:47
Hallo Andreas, vlt. habe ich mich etwas undeutlich ausgedrückt. Den Benutzer auf der IBMi gibt es auf meinem Rechner nicht. Da ist ein reiner IBMi User.

Beispiel:
Ich bin mit User 1 in Windows angemeldet und mache einen SFTP connect zur IBMi mit user 2 und 3. User 2 klappt, User 3 nicht.
Im Verzeichnis /home/{user}/.ssh gibt es nur die known_hosts Datei, sowohl bei user 2 als auch bei user 3

Andreas_Prouza
11-10-23, 18:52
Ich habe dich schon richtig verstanden. Ich habe ja geschrieben, dass ich auf meinem PC auch für 2 verschiedene User auf der IBM i die Keys habe.
Das hat nichts damit zu tun was für einen User du am PC hast.

Am PC hast du den Private und Public Key für User 1 und das gleiche für User 2.
Vielleicht stimmen die Rechte & Owner für die Keys vom User 1 aber nicht für User 2.

Auf der IBM i musst du das gleiche mit den Home Verzeichnissen des jeweiligen Users prüfen.
Du hast zu beginn geschrieben, dass der Key-Austausch funktioniert.
Ich bin daher davon ausgegangen, dass du eine Key-Authentication verwendest.
Wenn allerdings die Datei "authorized_key" nicht da ist, frag ich mich wie du mit User 1 überhaupt eine Verbindung bekommen konntest. Oder verwendest du User/Passwort dafür?

Wie hast du die Keys erstellt und wo diese hinterlegt (Client & Server)?

itec01
12-10-23, 07:01
Moin Andreas,
jetzt verstehe ich was du meinst. Ich nutze User / Password, keine Key's, nur der Key vom Host wird einmalig geladen.
Sorry für das Durcheinander.

Hier die debug Infos von Filezilla:
09:46:18??Trace:??Host key fingerprint is:
09:46:18??Trace:??ssh-ed25519 255 SHA256:qezq9VbvMmEwFgZA68RSoBLPJ/fnPn19PthNVitpiyY
09:46:18??Trace:??Initialised AES-256 GCM outbound encryption
09:46:18??Trace:??Initialised AES256 GCM outbound MAC algorithm (in ETM mode) (required by cipher)
09:46:18??Trace:??Initialised AES-256 GCM inbound encryption
09:46:18??Trace:??Initialised AES256 GCM inbound MAC algorithm (in ETM mode) (required by cipher)
09:46:18??Status:??Using username "spepgmrkv".
09:46:18??Trace:??Attempting keyboard-interactive authentication
09:46:18??Trace:??Server refused keyboard-interactive authentication
09:46:18??Befehl:??Pass: ***
09:46:18??Trace:??Sent password
09:46:18??Trace:??Password authentication failed
09:46:18??Status:??Access denied
09:46:18??Fehler:??Authentifizierung fehlgeschlagen.
09:46:18??Trace:??CControlSocket::DoClose(1030)
09:46:18??Trace:??CControlSocket::ResetOperation(1 094)
09:46:18??Trace:??CSftpConnectOpData::Reset(1094) in state 3
09:46:18??Fehler:??Kritischer Fehler: Herstellen der Verbindung zum Server fehlgeschlagen
09:46:18??Trace:??CFileZillaEnginePrivate::ResetOp eration(1094)


Gruß Klaus