PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sftp + auth per Key



jake
28.09.04, 14:55
Hallo :-) wie kann ich meinem sftp klar machen, dass man nicht das passwort eingeben kann/muss beim einloggen sondern alles über SSH(2) Key abgeprüft wird?

ein PublicKey habe ich mit Puttygen unter windows schon erzeugt und habe ihn in die Datei /home/jake/.ssh/authorized_keys gespeichert.

jetzt möchte ich mit FileZilla(FTP-Programm) eine verbindung starten.
Habe in Pageant(Putty) mein PrivateKey importiert und gestartet.

Wenn ich jetzt die Verbindung starte ohne ein Password einzugeben, bekomme ich keine verbindung. wenn ich aber das passwort wom user jake eingebe, bekomme ich eine verbindung.

kann mir bitte jemand helfen was ich einstellen muss das der Login über die Keys geregelt wird!
ist bestimmt das in der datei /etc/ssh/sshd_config.
hab aber leider dazu nichts gefunden :(

danke schonmal ;) jake

Edit: ach ja ... Suse 9.1

foolish
28.09.04, 15:16
hallo,

normalerweise müsste das funktionieren unter suse 9.1,
es gibt ein paar Fallstricke :

-das /home Verzeichnis vomn User Jake könnte auf Vollzugriff sein also drwxrwxrwx (777) , damit der Schlüssel akzeptiert wird muss Du entweder Verzeichnis auf 775 oder in der sshd_config StrictModes auf No stellen

-das erstellte Key könnte nicht ganz Linux Konform sein
sollte irgendwie z.B.: so anfangen ssh-rsa ......

ok mehr fällt mir nicht mehr ein ...

X-piet
28.09.04, 15:19
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no


und



Subsystem sftp /usr/lib/ssh/sftp-server


sollte unkommentiert sein.

X-piet

foolish
28.09.04, 15:23
hallo, ^^^^

Falls Du Deine sshd_config nicht verändert hast sollte das aber alles Default
sein bei Suse 9.1

jake
28.09.04, 16:02
soo :-)
danke erstmal!

aber nochmal von vorne *gg*

ich hab die ganze zeit rumgespielt und jetzt geht gar nix mehr *lach^ :rolleyes:

nunja ...
der sftp-server startet automatisch wenn sshd läuft oder, also wenn in /etc/ssh/sshd_config Subsystem sftp /usr/lib64/ssh/sftp-server vorhanden ist oder?

oder muss der sftp-server auch in xinetd eingetragen sein?

foolish
28.09.04, 16:19
;-) gut nochmal

also ja der sftp-server startet mit ...

- wenn Du Änderungen an der sshd_config machst, muss Du per (als root) rcsshd restart die aktuelle *config* praktisch bekanntgeben oder übernehmen.

- wie schon am Anfang geschrieben das es mit dieser Key Authenfizierung klappt sollte das Verzeichnis vom User jake nehme mal an /home/jake nicht auf Vollzugriff sein, das kannst du mit cd /home dann ls -la überprüfen
normalerweise ist es auf "drwxr-xr-x jake users ... jake" aber sollte es auf drwxrwxrwx sein, muss du per chmod a-w /home/jake entweder für alle Schreibrechte wegnehmen oder wenn Du das nicht möchtest gibt es unter sshd_config die Zeile #StrictModes Yes das auf No stellen und rcsshd restart ausführen.

- es könnte aber sein das dein angelegter Key nicht ganz konform zum Linux Keyverfahren ist ... da könntest Du unter sshd_config die Zeile auf #LogLevel INFO in Loglevel DEBUG ändern wichtig die raute vorne wegnehmen, nochmal rcsshd restart und unter /var/log/messages also z.B mit less /var/log/messages mal gucken was da so Passiert.

viel Spass

edit : der sshd wird nicht in xinetd eingetragen (mir nicht bekannt)

jake
28.09.04, 16:46
Hallo, also mít den einstellungen oben kommt bei mir folgendes: user 'swa'

hmm ... seh da need viel *g

Sep 28 16:44:44 linux sshd[3879]: Connection from ::ffff:213.160.16.104 port 33173
Sep 28 16:44:44 linux sshd[3865]: debug1: Forked child 3879.
Sep 28 16:44:44 linux sshd[3879]: debug1: Client protocol version 2.0; client software version PuTTY-FZ-Local: Aug 22 2004 22:06:28
Sep 28 16:44:44 linux sshd[3879]: debug1: no match: PuTTY-FZ-Local: Aug 22 2004 22:06:28
Sep 28 16:44:44 linux sshd[3879]: debug1: Enabling compatibility mode for protocol 2.0
Sep 28 16:44:44 linux sshd[3879]: debug1: Local version string SSH-1.99-OpenSSH_3.8p1
Sep 28 16:44:45 linux sshd[3879]: debug1: PAM: initializing for "swa"
Sep 28 16:44:45 linux sshd[3879]: debug1: PAM: setting PAM_RHOST to "port-213-160-16-104.static.qsc.de"
Sep 28 16:44:45 linux sshd[3879]: debug1: PAM: setting PAM_TTY to "ssh"
Sep 28 16:44:45 linux sshd[3879]: debug1: temporarily_use_uid: 1001/100 (e=0/0)
Sep 28 16:44:45 linux sshd[3879]: debug1: trying public key file /home/swa/.ssh/authorized_keys
Sep 28 16:44:45 linux sshd[3879]: Authentication refused: bad ownership or modes for file /home/swa/.ssh/authorized_keys
Sep 28 16:44:45 linux sshd[3879]: debug1: restore_uid: 0/0
Sep 28 16:44:45 linux sshd[3879]: debug1: temporarily_use_uid: 1001/100 (e=0/0)
Sep 28 16:44:45 linux sshd[3879]: debug1: trying public key file /home/swa/.ssh/authorized_keys2
Sep 28 16:44:45 linux sshd[3879]: debug1: restore_uid: 0/0
Sep 28 16:44:45 linux sshd[3879]: error: PAM: Authentication failure
Sep 28 16:44:45 linux sshd[3879]: Failed keyboard-interactive/pam for swa from ::ffff:213.160.16.104 port 33173 ssh2
Sep 28 16:44:45 linux sshd[3879]: debug1: do_cleanup
Sep 28 16:44:45 linux sshd[3879]: debug1: PAM: cleanup

bedeutet das, auf meuiner linux kiste SSH(1) läuft?
Sep 28 16:44:44 linux sshd[3879]: debug1: Local version string SSH-1.99-OpenSSH_3.8p1

danke nochmal ;)

X-piet
28.09.04, 17:02
Authentication refused: bad ownership or modes for file /home/swa/.ssh/authorized_keys


Rechte mal überprüfen. Hast Du den User per "Hand" oder mittels useradd angelegt?

X-piet

foolish
28.09.04, 17:03
da ist was -->

Sep 28 16:44:45 linux sshd[3879]: Authentication refused: bad ownership or modes for file /home/swa/.ssh/authorized_keys

Aussage bedeutet das entweder falsche Rechte für "authorized_keys" oder falscher eigentümer, überprüf mal mit cd /home/swa/.ssh/
ls -la authorized_keys
dann sollte eigentlich normalerweise rw-r--r-- sein , so kannst Du das ändern
chmod 644 authorized_keys (als root ausführen)
chown swa:users authorized_keys (nicht unbedingt erforderlich das file gehört dann swa gruppe users)


edit: da war schon wieder jemand schneller :)
hab aber mehr tippen müssen ;)

jake
28.09.04, 17:07
huhu :)

danke *gg*

aber :(
rechte hab ich zum testen mal auf 777 gesetzt und swa:users (ganzes verzeichnis /home/swa)
den user habe ich mit useradd swa, dann passed swa, und mkdir /home/swa ... usw angelegt

jake
28.09.04, 18:54
hat niemand mehr ne idee? bin am verzweifeln und das ist gaaanz wichtig! :-)

schönen abend euch ;)

foolish
28.09.04, 19:22
???
hast Du denn nun mal mit 644 rechten probiert oder nicht???

das ist ssh sehr genau mit, und der ordner .ssh sollte auch max 755 haben.

probier das und guck nochmal in die messages...

mehr kann ich dir nicht helfen...

BSM
28.09.04, 19:35
Verweigert SSH nicht den Zugriff wenn die Rechte zu freizügig gesetzt sind (so mit 777 und so) ?

Gruss Robert

foolish
28.09.04, 20:02
ähmm sorry vielleicht drück ich mich ja falsch aus, aber ich versuch doch seid meinem ersten posting das zu sagen ^^^

gruß
der-sich-nicht-ausdrücken-kann

jake
29.09.04, 09:02
morgen

mensch.. das ist mir aber richtig peinlich!!! sorry .. hab wohl leider nicht richtig gelesen :(

habs jetzt auf 664 und der fehler kommt nicht mehr :)
aber noch folgendes problem:

Sep 29 08:59:16 linux sshd[5323]: Connection from ::ffff:213.160.16.104 port 50567
Sep 29 08:59:16 linux sshd[5292]: debug1: Forked child 5323.
Sep 29 08:59:16 linux sshd[5323]: debug1: Client protocol version 2.0; client software version PuTTY-FZ-Local: Aug 22 2004 22:06:28
Sep 29 08:59:16 linux sshd[5323]: debug1: no match: PuTTY-FZ-Local: Aug 22 2004 22:06:28
Sep 29 08:59:16 linux sshd[5323]: debug1: Enabling compatibility mode for protocol 2.0
Sep 29 08:59:16 linux sshd[5323]: debug1: Local version string SSH-1.99-OpenSSH_3.8p1
Sep 29 08:59:17 linux sshd[5323]: debug1: PAM: initializing for "swa"
Sep 29 08:59:17 linux sshd[5323]: debug1: PAM: setting PAM_RHOST to "port-213-160-16-104.static.qsc.de"
Sep 29 08:59:17 linux sshd[5323]: debug1: PAM: setting PAM_TTY to "ssh"
Sep 29 08:59:17 linux sshd[5323]: debug1: temporarily_use_uid: 1001/100 (e=0/0)
Sep 29 08:59:17 linux sshd[5323]: debug1: trying public key file /home/swa/.ssh/authorized_keys
Sep 29 08:59:17 linux sshd[5323]: debug1: restore_uid: 0/0
Sep 29 08:59:17 linux sshd[5323]: debug1: temporarily_use_uid: 1001/100 (e=0/0)
Sep 29 08:59:17 linux sshd[5323]: debug1: trying public key file /home/swa/.ssh/authorized_keys2
Sep 29 08:59:17 linux sshd[5323]: debug1: restore_uid: 0/0
Sep 29 08:59:17 linux sshd[5323]: error: PAM: Authentication failure
Sep 29 08:59:17 linux sshd[5323]: Failed keyboard-interactive/pam for swa from ::ffff:213.160.16.104 port 50567 ssh2
Sep 29 08:59:17 linux sshd[5323]: debug1: do_cleanup
Sep 29 08:59:17 linux sshd[5323]: debug1: PAM: cleanup


Sep 29 08:59:17 linux sshd[5323]: error: PAM: Authentication failure
ich vermute irgendwie, dass da ein falscher public key drinne ist.
Mein PublicKey habe ich mir unter windows mit Putty Key Generator erzeugt. SSH - RSA mit 1024 Bit ...
Kann das sein das linux ein anderen haben möchte?

gruss jake

foolish
29.09.04, 22:22
hallo ,

ich hätte da noch was für Dich, da ich dieses Filezilla-ftp nicht kenne könnte ich dir zum ausprobieren mal winscp nahe legen, nur mal zum überprüfen ob die keys mit puttygen auch so funktionieren, wie Du möchtest.
Also ich habe das so am laufen, unter winscp kann man die generierten Keys nutzen --bei Filezilla wie gesagt keine Ahnung -- .
Ansonsten noch ein link wo das mit puttygen und winscp beschrieben ist.
http://www.different-thinking.de/ssh2_howto.php


gruß
fool

jake
30.09.04, 11:27
ja coole sache!!! :-)

jetzt geht bei mir alles ;) zwar nur mit rsa aber auch egal *gg*
eigendlich wollte ich dsa machen, aber weiss auch need warum das need funzt.

gruss Jake :-)

foolish
30.09.04, 11:53
hallo,

na prima :)

um das mit dsa zu versuchen, wenn du mal bock hast , statt authorized_keys
authorized_keys2 mal probieren.

cu

jake
30.09.04, 12:11
versteh ich das richtig?
rsa geht auf authorized_keys und dsa auf rsa authorized_keys2?

gruss Jake

foolish
30.09.04, 20:19
hi,

nur ´ne Vermutung, nicht das ich das genau wüsste.
Hatte mal gehört das authorized_keys nicht mehr verwendet wird, bei neueren ssh-Versionen, deswegen hab ich geschrieben probier mal...

;)