publickey authentication mit openssh geht nicht

tomvomland

tomvomland

Tripel-As
Hallo Leute,

vielleich kann mir jemand bei eimem seltsamen Problem mit openssh helfen.

Ich versuche eine publickey authentication mit OpenSSH zwischen einer Workstation unter AIX und einem Linux-PC hinzukriegen. Kennt Ihr ja: Ein keypair auf dem client erzeugen und den publickey in die ~/.ssh/authorized_keys auf dem Server kiopieren.
Das ganze funktioniert super, wenn ich die Verbindung von der AIX-Maschine aus aufbauen will. Die Verbindung in Gegenrichtung, vom Linux-PC auf die AIX, endet mit einer schnöden Passwort-Abfrage.

Natürlich habe ich auf beiden Maschinen die keys generiert und jeweils auf der anderen Maschine in die ~/.ssh/authorized_keys geschrieben. Es sollte also in beide Richtungen funktionieren, tut es aber nicht.


haorain

tom
 
Hallo Leute,

der Hauptgrund, warum ich meine technischen Probleme in Foren poste ist, dass ich kurz darauf immer selbst auf die Lösung komme. (Komischerweise nie vor dem Posting)

Also: Auf der AIX waren die Rechte für das Verzeichnis ~/.ssh falsch gesetzt. Richtig ist 700.

Gruß
Thomas
 
Ja ist noch tricky.. uebel ist auch, wenn das Userverzeichniss gleichzeitig ein Applikationsverzeichniss ist (z.B. bei Webapplikationen mit speziellen Usern fuer Servlet-Engine). Da ist oft das Applikationsverzeichniss mit den Webserver-User Rechten vergeben und SSH verweigert den Dienst, da das User-Homeverzeichniss ja nicht dem Applikationsuser gehoert (sondern dem Webserver-User).

Helfen tut da immer ein "/etc/init.d/openssh stop && sshd -d" und dann nochmals probieren.
 
also ich habe ein ziemlich ähnliches problem
ich habe mit Puttygen einen Public und einen private key erzeugt. dann habe ich auf meinem server die verzeichnisse /root/.ssh/ und /home/florian/.ssh erstellt. beide mit chmod 700. so dann hab ich die dateien authorized_keys erstellt und in beiden folgendermaßen eingetragen:
---- BEGIN SSH2 PUBLIC KEY ----
KEY
---- END SSH2 PUBLIC KEY ----

dann in putty unter auth meine private keyfile angegeben und sshd neugestartet (vorher in webmin "Allow authenthication by password" auf no und "allow rsa authenthication" auf yes gestellt)
nun sagter aber immer "key refused" sowohl wenn ich als root versuche mich einzuloggen wie auch als user florian
 
Jeps. Putty macht scheinbar den kommerziellen SSH-Key. OpenSSH und das kommerzielle SSH nutzen verschiedene keyformate. Um den korrekten zu kriegen, kopiere deinen Public Key von der Putty-Station auf den Server und mache dort:
ssh-keygen -i

Die Eingabe ist Interaktiv. Gebe dann dort den Public-Key an und kopiere den Output in das authorized_keys.

Und schon gehts ;).
 
also ich hab nun die public_ssh_key auf meinen server kopiert, dann ssh-keygen -i und die datei angegeben.
den output hab ich dann in die authorized_keys zwischen die beiden --- BEGIN SSH2 PUBLIC KEY ---- und ---- END SSH2 PUBLIC KEY ---- geschrieben aber es kommt in putty immer noch:
Server refused our key
ich habe den public key in meine lokale private_key.ppk kopiert aber das gleiche
ich hab das ssh-rsa in der authorize_keys auch weggemacht. immer noch das gleiche
 
Nenenene.. das BEGIN und END-Teil kannst du weglassen!
Du musst den Output 1:1 uebernehmen!

Wenn du mehrere Keys hast, haengst du die aneinander.
 
hab die teile weggemacht
tut immer noch nicht. da is doch der wurm drin
 
Checke mal alle Permissions, gehoeren die Files dem richtigen Owner? Zeit mal dein authorized_keys (ist ja eh nur der Public Key und nicht kritisch).
Was du auch machen kannst, ist der SSH Server mit sshd -d zu starten. Dann siehst du debugging Nachrichten. Die werden sicherlich die Antwort parat haben.

// Edit:
Bist du sicher, dass putty das Zertifikat benutzt?
 
Hallo,

Tip um das Problem einzugrenzen:
den sshd auf dem Zielsystem (ssh-Server) stoppen und dann mit sshd -d im Debugmodus starten.
Danach mit Putty die Verbindung testen. Der Debug-Output landet auf stdout.
Der sshd beendet sich nach dem Abbruch der ssh-Verbindung automatisch und muss für den nächsten Test wieder von Hand gestartet werden.

Auf dem ssh-Server müssen Dateien im Home-Directory des Benutzers, mit dessen Account man sich anmelden will folgende Rechte haben:
~/.ssh 600
~/.ssh/authorized_keys 600
~/ 700 oder 750

Die Rechte werden zB mit chmod 600 ~/.ssh gesetzt

Die ~/.ssh/authorized_keys kan mehrere Public Keys enthelten, die durch Newlines getrennt sind. Ein Key darf keine Newlines enthalten!

cu
tom
 
authorized_keys2

Und ganz wichtig (das hat mich die halbe nacht gekostet):
Bei Suse 10.0 heisst die authorizedkeys nicht mehr so sondern:
authorizedkeys2
:-)
 
Naja nach fast auf den Tag genau 2 Jahre nach dem Threadstart ist dies natürlich eine ergänzende Info :)
 
also bei mir hat das wunderbar geklappt... und ich habe 2 tage dran rumgedoktored und mich gewundert warums net geht :D

also mit Putty keys generieren --> ssh-keygen -i --> Ausgabe mit BEGIN und END der entsprechenden authorized KEys (bei mir /root/.ssh) hinzufügen und schon gehts :).
 

Ähnliche Themen

SSH per DSA Keyfile ohne Passwort

Problem unter Fedora Core 5 und ssh

Zurück
Oben