Open SSH - Problem beim Einloggen ohne Passwort - öffentlicher Schlüssel

2

Ich habe ein Problem, bei dem ich mich nicht über SSH anmelden kann. Ich habe andere Anleitungen befolgt und sichergestellt, dass die Berechtigungen korrekt festgelegt wurden und dass die Veröffentlichungsschlüssel auf meinem lokalen Computer und auf dem Remotecomputer ebenfalls übereinstimmen. Der Standardwert lautet jedoch immer das Passwort...

(Ich melde mich als einfacher Benutzer an, nicht als root)

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to ________________ port 22.
debug1: Connection established.
debug1: identity file /Users/s/.ssh/id_rsa type -1
debug1: identity file /Users/s/.ssh/id_rsa-cert type -1
debug1: identity file /Users/s/.ssh/id_dsa type 2
debug1: identity file /Users/s/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 88:ea:bd:20:af:78:f8:4f:1f:45:3c:dd:d6:c6:10:dd
debug1: Host '______________' is known and matches the RSA host key.
debug1: Found key in /Users/s/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/s/.ssh/id_rsa
debug1: Offering DSA public key: /Users/s/.ssh/id_dsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: password

Kann mir jemand sagen, woran das liegen könnte?

Bob
quelle
Welche Distribution läuft auf dem Server? Berücksichtigen Sie in der Frage auch die Ausgabe von ls -lR ~/.sshrun auf dem Server.
Cristian Ciupitu
Ausgabe von ls -lR ~ / .ssh: -rw-r - r-- 1 crimeand crimeand 607 Jun 28 23:13 authorized_keys -rw ------- 1 crimeand crimeand 608 Jun 28 23:14 id_dsa.pub Ausführen von Red Hat 4.4.7-4
Bob
In der Frage, wo man es schön formatieren kann. Ist es Red Hat Linux 4.4 oder Red Hat Enterprise Linux 4.4?
Cristian Ciupitu
In den letzten Zeilen wird gezeigt, wie Sie einen privaten RSA-Schlüssel versuchen, aber einen öffentlichen DSA-Schlüssel verwenden. Haben Sie einen aktuellen öffentlichen RSA-Schlüssel für den Server? Oder haben Sie alternativ einen privaten DSA-Schlüssel?
Arxanas
Ja, ich habe den öffentlichen Schlüssel auf meinem lokalen Computer generiert und auf den Server kopiert - ich verwende keinen privaten Schlüssel
Bob,

Antworten:

0

Wenn Ihre ssh -vAusgabe auf dem Client anzeigt, dass es sich um "Offering public key" handelt, und dann ohne offensichtlichen Fehler zu "Next authentication method: password" übergeht, sollten Sie Folgendes versuchen (diese funktionieren für mich unter CentOS und Fedora):

  1. Wenn Ihr Server sshd_configüber StrictModes yes(normalerweise die Standardeinstellung) verfügt, müssen Sie einige Berechtigungsregeln einhalten: Auf dem Server kann das Benutzer-Ausgangsverzeichnis nicht von Gruppen oder anderen Benutzern beschrieben werden (700, 711 oder 755 sollten funktionieren) und ~/.sshsollte 700 sein und ~/.ssh/authorized_keyssollte 600 sein (beide privat).
  2. Wenn Sie das ~/.sshVerzeichnis auf dem Server als anderer Benutzer erstellt haben und sich Ihr SELinux im strikten Modus befindet, kann dies zu Problemen führen. Führen Sie auf dem Server die restorecon -Rv ~/.ssh Funktion des Benutzers aus . Wenn er Änderungen vornimmt, kann dies das Problem beheben. (Dies ist ein guter Grund, den ssh-copy-idBefehl vom Client aus zu verwenden. Er ~/.sshwird als Benutzer erstellt.)
  3. Selbst wenn Nummer 2 nicht Ihr Problem war, könnte SELinux der Schuldige sein. Auf /var/log/audit/audit.logFehler untersuchen ... Einmal habe ich versucht, mit SSH einen Befehl als Benutzer eines Daemons auszuführen, dessen Ausgangsverzeichnis sich darunter befindet /var, und SELinux hat ~/.ssh/authorized_keysin diesem Fall die Lesefähigkeit verweigert .
bjnord
quelle