ssh, putty und authorized key Problem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Knorkator
Beiträge: 55
Registriert: 11.10.2004 13:00:19

ssh, putty und authorized key Problem

Beitrag von Knorkator » 28.03.2005 13:49:17

Hallo,

Der Zugriff von meinem XP System auf den Debian Sarge Rechner funktioniert ohne Probleme.
Ich kann mich mit meinem User/root per ssh anmelden.

Nun möchte ich den zugang über öffentliche Schlüssel realisieren und schätze ich habe irgendwo einen Fehler:

Im Homeverzeichnis des Benutzer habe ich unter .ssh die Datei authorized_keys erstellt.

Code: Alles auswählen

-rw-------  1 daniel daniel 672 2005-03-28 13:30 authorized_keys
-rw-------  1 daniel daniel 672 2005-03-28 13:29 id_dsa
-rw-------  1 daniel daniel 603 2005-03-28 13:29 id_dsa.pub
Danach habe ich mit puttygen einen 1024 Bit SSH2-DSA key erstellt, den Public Key im Putty Fenster in authorized_keys per vi in die Datei eingetragen - cut n paste.

Danach habe ich beide keys im Windows Rechner gespeichert, in das Puttyprofil eingegeben und die Verbindung geöffnet.

Ergebnis:

Code: Alles auswählen

login as: daniel
Server refused our key
Password:
Woran liegt das?

Wäre auch dankbar für Deutsche links die mir ssh2 etwas näher bringen..
Howtos wie z.b. http://www.different-thinking.de/ssh2_howto.php habe ich schon..
Aber die bringen mich nicht so richtig weiter.

thx

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 28.03.2005 14:30:57

Hi,

also auf dem Server musst du keinen Key haben. Komisch finde ich auch das bei dir ssh _dsa und authorized_keys die gleiche Groesse haben.

Den public Key den du auf dem XP Rechner hast musst du in die $HOME/.ssh/authorized_keys auf dem Server kopieren.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
Knorkator
Beiträge: 55
Registriert: 11.10.2004 13:00:19

Beitrag von Knorkator » 28.03.2005 15:32:14

Auf dem Server habe ich als User einen ssh key generiert welchen ich dann auf meinem XP-System über puttygen umgewandelt habe in einen putty dingsbums file.

Funktioniert ebenfalls nicht...

Kann ich die beiden ssh dateien löschen?


Kann es konflikte geben mit den dsa und rsa Dateien die unter /etc/ssh/ liegen?

Irgendwie versteh ich die Zusammenhänge noch nicht so ganz - in den Howtos bekommt man das kaum erklärt und die manuals sind eh ne Welt für sich...

thx

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 29.03.2005 09:46:54

Also,wenn du mit Putty drauf willst, dann nimm das puttygen-Tool unter Windows.
Erzeuge dir da einen neuen Schluessel. Den oeffentlichen Key, den dir puttygen im oberen Teil des Fensters anzeigt, kopierst du auf dem Zielrechner in die .ss/authorized_keys. Du musst aber drauf achten, dass der Key eine Zeile ist!
Dann musst du Putty noch einstellen, dass er fuer die Verbindung mit deinem Linuxrechner deinen geheimen Schluessel nutzt: das findest du unter SSH->Auth in den Optionen.

Benutzeravatar
Knorkator
Beiträge: 55
Registriert: 11.10.2004 13:00:19

Beitrag von Knorkator » 29.03.2005 09:57:08

Hallo,

habe es über 2 Wege probiert.
1. Puttygen unter Windows - den Key im offenen Putty Terminal in vi eingefügt.
Das mit der einzigen Zeile hat glaub ich funktioniert, ein "dd" unter vi hat alles gelöscht.

2. Auf dem Debian Rechner als User Daniel einen key erstellt und diesen auf dem Windows PC mit puttygen geöffnet und als putty key gespeichert.
Halt wie im angegebenen Howto beschrieben.

Hier mal ein Auszug von sshd -d

1. Aufruf durch putty

Code: Alles auswählen

debug1: Server will not fork when running in debugging mode.
Connection from 192.168.0.17 port 1417
debug1: Client protocol version 2.0; client software version PuTTY-Release-0.57
debug1: no match: PuTTY-Release-0.57
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.8.1p1 Debian-8.sarge.4
debug1: permanently_set_uid: 101/65534
debug1: list_hostkey_types: ssh-rsa,ssh-dss
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: client->server aes256-cbc hmac-sha1 none
debug1: kex: server->client aes256-cbc hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST_OLD received
debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: KEX done
2. Eingabe des Benutzernamens

Code: Alles auswählen

debug1: userauth-request for user daniel service ssh-connection method none
debug1: attempt 0 failures 0
debug1: PAM: initializing for "daniel"
Failed none for daniel from 192.168.0.17 port 1417 ssh2
debug1: PAM: setting PAM_RHOST to "192.168.0.17"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: userauth-request for user daniel service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/daniel/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/daniel/.ssh/authorized_keys
debug1: restore_uid: 0/0
Failed publickey for daniel from 192.168.0.17 port 1417 ssh2
debug1: userauth-request for user daniel service ssh-connection method keyboard-interactive
debug1: attempt 2 failures 2
debug1: keyboard-interactive devs
debug1: auth2_challenge: user=daniel devs=
debug1: kbdint_alloc: devices 'pam'
debug1: auth2_challenge_start: trying authentication method 'pam'
Postponed keyboard-interactive for daniel from 192.168.0.17 port 1417 ssh2
3. Key wird nicht akzeptiert - eingabe des Passwortes

Code: Alles auswählen

Accepted keyboard-interactive/pam for daniel from 192.168.0.17 port 1417 ssh2
debug1: monitor_child_preauth: daniel has been authenticated by privileged process
Accepted keyboard-interactive/pam for daniel from 192.168.0.17 port 1417 ssh2
debug1: PAM: reinitializing credentials
debug1: permanently_set_uid: 1000/1000
debug1: Entering interactive session for SSH2.
debug1: server_init_dispatch_20
debug1: server_input_channel_open: ctype session rchan 256 win 16384 max 16384
debug1: input_session_request
debug1: channel 0: new [server-session]
debug1: session_new: init
debug1: session_new: session 0
debug1: session_open: channel 0
debug1: session_open: session 0: link with channel 0
debug1: server_input_channel_open: confirm session
debug1: server_input_channel_req: channel 0 request pty-req reply 1
debug1: session_by_channel: session 0 channel 0
debug1: session_input_channel_req: session 0 req pty-req
debug1: Allocating pty.
debug1: session_new: init
debug1: session_new: session 0
debug1: session_pty_req: session 0 alloc /dev/pts/1
debug1: server_input_channel_req: channel 0 request shell reply 1
debug1: session_by_channel: session 0 channel 0
debug1: session_input_channel_req: session 0 req shell
debug1: PAM: setting PAM_TTY to "/dev/pts/1"
debug1: Setting controlling tty using TIOCSCTTY.
/var/log/auth.log gibt nichts interessantes aus.
Gibt es noch eine Logdatei die man auswerten kann?
Sollte ich evtl. das Loglevel für sshd ändern?
Und wenn ja, worauf?

thx

Benutzeravatar
eagle
Beiträge: 2282
Registriert: 05.11.2002 11:20:53
Wohnort: Berlin

Beitrag von eagle » 29.03.2005 10:09:15

Achtung die mit putty-gen erzeugten Public Keys sind nicht kompatibel mit openssh! Zum Konvertieren kann man den folgenden Befehl aus [1] verwenden:

Code: Alles auswählen

Public Key in OpenSSH Format exportieren:
puttygen -L id_rsa|dsa.ppk > id_rsa|dsa.pub
eagle

[1] http://kai.iks-jena.de/scpsftp/scp-sftp.html
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 29.03.2005 10:51:47

Oder eben den Key nehmen, den er oben im Fenster anzeigt, das is der Key fuer OpenSSH.

Benutzeravatar
Knorkator
Beiträge: 55
Registriert: 11.10.2004 13:00:19

Beitrag von Knorkator » 29.03.2005 11:08:44

Hallo,
nepos hat geschrieben:Oder eben den Key nehmen, den er oben im Fenster anzeigt, das is der Key fuer OpenSSH.
Bei dem von Eagle angegebenen Link steht nichts von der Datei authorized_keys.
Auf die wird beim verbindungsaufbau doch zugegriffen, oder?

Benötige ich in dem Homeverzeichnis/.ssh des Users daniel eine dsa.pub oder reicht die authorized_keys?

Das ganze verwirrt mich langsam..
8O


Das mit dem kopieren des oben angezeigten Keys mache ich ja schon die ganze zeit - ohne erfolg.

Hier die genaue Vorgehensweise:

Mit puttygen einen ssh2dsa key mit 1024 bit erzeugen, den abspeichern und per vi das den key aus dem oberen fenster in die die Datei /home/homeverz./user/.ssh/authorized_keys kopieren.
Danach in putty ssh2 only auswählen, ppk angeben und los gehts bzw. nichts geht.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 29.03.2005 11:30:11

Jo, sollte eigentlich so gehen, wie du es gemacht hast.
Eventuell passt an dem Key noch was nicht. Schau insbesondere auch mal, ob du nicht irgendwelche Leerzeichen im Key hast:

Code: Alles auswählen

ssh-dss AA...Bg dsa-key-20040326
Da sind die Leerzeichen ok, da das nur Infos zum Key selbst sind.
Der Key geht bei mir dann von AA bis Bg und da drin darf kein Leerzeichen sein.
Ich habe da auch schon mal ewig gesucht und bei mir warens Leerzeichen...

Zu den .pub Files: Nein, auf dem Zielrechner reicht es, wenn du deinen public key deiner Windows-Maschine in die authorized_keys eingefuegt hast.
Der public key ist der Teil deines Schluessels, den du weitergeben musst, wenn du die Anmeldung via Key machen willst.

Benutzeravatar
Knorkator
Beiträge: 55
Registriert: 11.10.2004 13:00:19

Beitrag von Knorkator » 29.03.2005 12:15:49

Hallo,
nepos hat geschrieben:Jo, sollte eigentlich so gehen, wie du es gemacht hast.
Eventuell passt an dem Key noch was nicht. Schau insbesondere auch mal, ob du nicht irgendwelche Leerzeichen im Key hast:

Code: Alles auswählen

ssh-dss AA...Bg dsa-key-20040326
Da sind die Leerzeichen ok, da das nur Infos zum Key selbst sind.
Der Key geht bei mir dann von AA bis Bg und da drin darf kein Leerzeichen sein.
Ich habe da auch schon mal ewig gesucht und bei mir warens Leerzeichen...
Ich hab den Fehler gefunden.
Die Kopieraktion von puttygen über vi in die authorized_keys hat tatsächlich was falsch gemacht.
Die ersten beiden s von ssh fehlten.
Versteh ich zwar nicht - hab nämlich jetzt noch das Puttygen Fenster mit markiertem Key offen...incl. ssh Markierung.

Danke für die tipps..

Antworten