seit einigen Tagen beschäftige ich mich jetzt mit Debian Lenny (ohne Desktop-Aufsatz). Vorher hatte ich nie was mit Linux zu tun, aber irgendwann wollte ich mich sowieso mal heranwagen. Bis jetzt habe ich es nicht bereut - im Gegenteil
Das unerschöpfliche Internet hat mir bis jetzt alle meine Fragen beantworten können, nur jetzt weiß ich leider nicht mehr weiter und habe mittlerweile auch keine Lust mehr zu suchen (seit Karfreitag Morgen fast ununterbrochen am Suchen), da ich mir zu 99,73% sicher bin, dass ich alles richtig gemacht habe (100% nicht, ich lasse mich gerne belehren, darum habe ich mich ja auch registriert ). Ich möchte mir Zuhause einen Debian-Server einrichten. Um Debian erstmal kennen zu lernen habe ich unter Win mit Virtualbox herumgespielt und meine Vorgehensweise exakt dokumentiert. Es hat zwar oft lang gedauert, aber ich bin immer zu einem Ergbenis gekommen.
Zu meinem Problem:
Ich habe einen SSH-Server installiert und möchte mich per Private/Public-Key kennwortlos authentifizieren. In meiner VM funktionierte das (mehrmals gemacht) super einfach:
Unter Windows mit PuttyGen einen SSH2-RSA 2048 Bit Key erstellt, Kommentar und Passphrase eingegeben und den Private Key lokal gespeichert. Normal mit putty als Benutzer am Server angemeldet und im /home/username-Verzeichnis einen Ordner .ssh erstellt. Per nano in den Ordner die Datei authorized_keys erstellt und den Public Key aus dem oberen Fensterteil von PuttyGen hineinkopiert (natürlich alles in eine Zeile gerückt) und gespeichert. Die Rechte mit chmod 700 /home/username/.ssh und chmod 600 /home/username/.ssh/authorized_keys angepasst.Die /etc/ssh/sshd_conf habe ich erstmal so gelassen (PubkeyAuthentication yes ist ja standardmässig gesetzt). Wenn ich mich jetzt per putty (SSH Protocol 2 only, Private Key für Auth) anmelde, wird auch schön nach login und der Key-Passphrase gefragt und dann werde ich akzeptiert (kein "Server refused key" o. ä.) . Ich habe nur das Problem, dass der Schlüssel bei JEDEM einloggen wieder abgefragt wird und ich bekomme das nicht abgestellt.Das deutet für mich ja auf falsche Dateiberechtigungen hin
Die Rechte der Ordner und Dateien sind definiv richtig:
drwx------ 4 username username .ssh
-rw-------- 4 username username authorized_keys
Vorsichtshalber habe ich /home/username auch noch auf 700 gestellt (natürlich auch ohne probiert). Der Server wurde schon öfter rebootet und auch ssh per etc/init.d/ssh restart neu gestartet.
etc/init.d/ssh start -d gibt mir bei der Anmeldung folgendes aus:
Code: Alles auswählen
powerslave:~# /etc/init.d/ssh start -d
Starting OpenBSD Secure Shell server: sshddebug1: sshd version OpenSSH_5.1p1 Debian-5
debug1: read PEM private key done: type RSA
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: private host key: #1 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.0.10 port 4933
debug1: Client protocol version 2.0; client software version PuTTY_Release_0.60
debug1: no match: PuTTY_Release_0.60
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5
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-ctr hmac-sha1 none
debug1: kex: server->client aes256-ctr 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
debug1: [b]userauth-request for user bjoern service ssh-connection method [u]none[/u][/b]
debug1: attempt 0 failures 0
debug1: PAM: initializing for "bjoern"
debug1: PAM: setting PAM_RHOST to "darkpower"
debug1: PAM: setting PAM_TTY to "ssh"
Failed none for bjoern from 192.168.0.10 port 4933 ssh2
debug1: userauth-request for user bjoern service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/bjoern/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /home/bjoern/.ssh/authorized_keys, line 1
Found matching RSA key: 9c:05:e1:21:9d:7f:f6:7e:0b:ea:e4:0d:d0:fd:04:73
debug1: restore_uid: 0/0
Postponed publickey for bjoern from 192.168.0.10 port 4933 ssh2
debug1: userauth-request for user bjoern service ssh-connection method publickey
debug1: [b]attempt 2[/b] failures 0
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/bjoern/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /home/bjoern/.ssh/authorized_keys, line 1
Found matching RSA key: 9c:05:e1:21:9d:7f:f6:7e:0b:ea:e4:0d:d0:fd:04:73
debug1: restore_uid: 0/0
debug1: ssh_rsa_verify: signature correct
debug1: do_pam_account: called
Accepted publickey for bjoern from 192.168.0.10 port 4933 ssh2
debug1: monitor_child_preauth: bjoern has been authenticated by privileged process
debug1: PAM: establishing credentials
debug1: SELinux support disabled
debug1: PAM: establishing 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: session 0
debug1: session_open: channel 0
debug1: session_open: session 0: link with channel 0
debug1: server_input_channel_open: confirm session
User child is on pid 2629
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: session 0
debug1: SELinux support disabled
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: Setting controlling tty using TIOCSCTTY.
Sehe gerade, dass im Code-Tag kein Fett erlaubt ist, ich hoffe Ihr seht trotzdem die markierten Zeilen.
[/EDIT]
Die erste fette Zeile verstehe ich nicht ganz. Kommt das daher, da ich andere Auth-Methoden in der ssh_conf nicht abgestellt habe?
Attempt 2 aus dem zweiten fett markierten kommt daher, da ich mich beim der Passphrase vertippt habe.
Selbstverständlich habe ich auch schon ssh-keygen probiert und den private key dann über eine gemountete Freigabe auf meinen Windows Client geschoben habe.
Wie ihr seht, weiß ich echt nicht mehr weiter, ich hoffe, dass Ihr mir irgendwie weiterhelfen könnt. Eigentlich wollte ich den Server dieses Wochenende komplett installiert haben (Mail, VPN über SSH, PDC usw.) und jetzt hänge ich an so einer bescheidenen Stelle fest und das obwohl ich vorher alles in einer VM getestet habe.
Vielleicht noch eine Anmerkung: Ich habe von der Businsess-CD installiert und selbst das Standard-System abgewählt, da ich wirklich nur das installieren will, was ich benötige und mir nicht alles zumüllen lassen möchte. Keine Ahnung, ob es damit was zu tun hat, denn das habe ich in der VM nicht gemacht.
Im Moment fällt mir erstmal nicht mehr ein. Falls ihr mehr Input benötigt, gebt Bescheid
Vielen Dank für jegliche Unterstützung im voraus!
MfG,
Bjoern