SSH fragt nach Kennwort, auch wenn der öffentliche Schlüssel installiert ist

3174
slhck

Mögliches Duplizieren:
Problem mit gemeinsam genutzten SSH-Schlüsseln

Ich habe die Pub-Schlüsselauthentifizierung zwischen zwei Servern eingerichtet. Alles sollte funktionieren, aber ich werde trotzdem nach dem Passwort gefragt.

Hier sind Teile meiner sshd-Konfigurationsdatei, die ich nach dem Einrichten des Systems nicht geändert habe.

RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys 

Die autorisierte Schlüsseldatei existiert und alles. Ich habe dieses Verfahren mit öffentlichen Schlüsseln auf vielen Maschinen ausgeführt und hatte dieses Problem noch nie. Was würdest du vorschlagen?

Die Debug-Ausgabe gibt mir Folgendes:

debug1: identity file /root/.ssh/identity type -1 debug3: Not a RSA1 key file /root/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace ... debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /root/.ssh/id_rsa type 1 debug1: identity file /root/.ssh/id_dsa type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5 debug1: match: OpenSSH_5.1p1 Debian-5 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1.2 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit:  debug2: kex_parse_kexinit:  debug2: kex_parse_kexinit: first_kex_follows 0  debug2: kex_parse_kexinit: reserved 0  debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib@openssh.com debug2: kex_parse_kexinit: none,zlib@openssh.com debug2: kex_parse_kexinit:  debug2: kex_parse_kexinit:  debug2: kex_parse_kexinit: first_kex_follows 0  debug2: kex_parse_kexinit: reserved 0  debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-cbc hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 126/256 debug2: bits set: 529/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts debug3: check_host_in_hostfile: match line 4 debug1: Host '...' is known and matches the RSA host key. debug1: Found key in /root/.ssh/known_hosts:4 debug2: bits set: 481/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /root/.ssh/identity ((nil)) debug2: key: /root/.ssh/id_rsa (0xb7fef588) debug2: key: /root/.ssh/id_dsa ((nil)) debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred gssapi-keyex,gssapi-with-mic,gssapi,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/identity debug3: no such identity: /root/.ssh/identity debug1: Offering public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password 

Bearbeiten: Meine private Schlüsseldatei sieht ungefähr so ​​aus:

-----BEGIN RSA PRIVATE KEY----- key goes here -----END RSA PRIVATE KEY----- 

Ich habe es mit generiert ssh-keygen -t rsa. Meine Client- und Server-Versionen sind:

OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007 (client) OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 (server) 

Dies ist die Verzeichnisstruktur auf dem Client:

root@xxx:~/.ssh# ls -lha total 20K drwx------ 2 root root 4.0K 2010-10-19 18:00 . drwxr-xr-x 8 root root 4.0K 2010-10-17 00:01 .. -rw------- 1 root root 1.7K 2010-10-19 18:51 id_rsa -rw-r--r-- 1 root root 393 2010-10-19 18:51 id_rsa.pub -rw-r--r-- 1 root root 1.6K 2010-10-19 18:02 known_hosts 

Und das ist auf dem Server:

...:/home/xxx/.ssh# ls -lha total 12K drwx------ 2 dreisadmin dreisadmin 4.0K 2010-10-19 18:07 . drwxrwxr-x 5 dreisadmin dreisadmin 4.0K 2010-10-19 18:58 .. -rw------- 1 dreisadmin dreisadmin 393 2010-10-19 19:33 authorized_keys 
6
Welche Version von SSH läuft auf dem Server? (Versuchen Sie `ssh -V`) Nate vor 14 Jahren 0
Sind Sie absolut sicher, dass Sie die korrekte .pub-Datei auf den Server kopiert haben? Nate vor 14 Jahren 0
Ja, ich habe das nochmal überprüft. Es gibt sowieso keine andere .pub-Datei. slhck vor 14 Jahren 0

4 Antworten auf die Frage

3
Ignacio Vazquez-Abrams

Stellen Sie sicher, dass ~/.ssh0700 eingestellt ist und dass ~/.ssh/authorized_keys0600 eingestellt ist.

Meinetwegen. Ich habe es erwähnt, nur weil es häufig genug ist, um es zu übersehen. Ignacio Vazquez-Abrams vor 14 Jahren 0
Sie müssen sicherstellen, dass ~ / .ssh auf Ihrem lokalen Computer auf die richtigen Berechtigungen eingestellt ist sowie auf der Serverseite. Das ist nach meiner Erfahrung zu 99% das Problem. The How-To Geek vor 14 Jahren 1
3
Linker3000
identity file /root/.ssh/identity type -1 debug3: Not a RSA1 key file /root/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace 

Mit Ihrer Schlüsseldatei scheint etwas nicht in Ordnung zu sein. Überprüfen Sie das Format und generieren Sie möglicherweise ein neues (behalten Sie das alte für alle Fälle bei).

Edit: Ähnliches Q hier mit einigen weiteren Vorschlägen: https://serverfault.com/questions/119881/ssh-exchange-identification-connection-closed-by-remote-host

Mein privater Schlüssel sieht so aus wie "----- BEGIN RSA PRIVATE KEY -----" und folgt dann dem privaten Schlüssel. Nichts scheint falsch zu sein? slhck vor 14 Jahren 0
Sie haben nichts unternommen, um es in einem Editor zu öffnen, in dem möglicherweise CR / LF-Codes / Zeilenumbrüche hinzugefügt oder kopiert / eingefügt wurden. Linker3000 vor 14 Jahren 0
Ich habe meine ursprüngliche Antwort hinzugefügt - hoffe es hilft. Linker3000 vor 14 Jahren 0
Die Dateien stammen direkt von `ssh-keygen`. Ich habe sie nicht bearbeitet. Leider gibt es keine wirkliche Lösung für die Frage, die Sie oben gestellt haben. slhck vor 14 Jahren 0
@slhck Bekommen Sie aus Neugier das gleiche Problem, wenn Sie einen DSA-Schlüssel generieren und ihn unter `~ / .ss / id_dsa` ablegen? Darth Android vor 14 Jahren 0
@Darth Android, nein, das geht auch nicht. slhck vor 14 Jahren 0
1
Dave Webb

Verwenden Sie die Debug-Option auf Ihrem sshClient. Dies sollte viele Meldungen über die Vorgänge während der Authentifizierung anzeigen und Ihnen helfen, das Problem zu identifizieren.

Zum Beispiel bekomme ich dies auf meinem System:

$ ssh -v -v -v localhost OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to localhost [127.0.0.1] port 22. debug1: Connection established. debug1: identity file /home/someuser/.ssh/identity type -1 debug1: identity file /home/someuser/.ssh/id_rsa type -1 debug1: identity file /home/someuser/.ssh/id_dsa type -1 debug1: Remote protocol version 1.99, remote software version OpenSSH_3.9p1 debug1: match: OpenSSH_3.9p1 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_3.9p1 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_init: found hmac-md5 debug1: kex: server->client aes128-cbc hmac-md5 none debug2: mac_init: found hmac-md5 debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 135/256 debug2: bits set: 520/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug3: check_host_in_hostfile: filename /home/someuser/.ssh/known_hosts debug3: check_host_in_hostfile: match line 1 debug1: Host 'localhost' is known and matches the RSA host key. debug1: Found key in /home/someuser/.ssh/known_hosts:1 debug2: bits set: 519/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /home/someuser/.ssh/identity ((nil)) debug2: key: /home/someuser/.ssh/id_rsa ((nil)) debug2: key: /home/someuser/.ssh/id_dsa ((nil)) debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug3: start over, passed a different list publickey,gssapi-with-mic,password debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup gssapi-with-mic debug3: remaining preferred: publickey,keyboard-interactive,password debug3: authmethod_is_enabled gssapi-with-mic debug1: Next authentication method: gssapi-with-mic debug2: we sent a gssapi-with-mic packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug2: we sent a gssapi-with-mic packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug2: we did not send a packet, disable method debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /home/someuser/.ssh/identity debug3: no such identity: /home/someuser/.ssh/identity debug1: Trying private key: /home/someuser/.ssh/id_rsa debug3: no such identity: /home/someuser/.ssh/id_rsa debug1: Trying private key: /home/someuser/.ssh/id_dsa debug3: no such identity: /home/someuser/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password 
Danke, ich habe das in die Frage aufgenommen, das Problem aber nicht wirklich gesehen. slhck vor 14 Jahren 0
0
harrymc

Noch etwas zu prüfen, von HP Communities :

In ssh_config wurde für PreferredAuthentications keine festgelegt. Um das Problem zu lösen, habe ich PreferredAuthentications veröffentlicht, das Passwort und die Tastatur interaktiv

Ich habe das in der ssh_config hinzugefügt (es war nirgendwo enthalten), aber es funktioniert trotzdem nicht. Trotzdem danke! slhck vor 14 Jahren 0