EDIT: Putting genau das, was getan wurde.
Ich brauche um SSH localhost
ohne Passwort, die übliche Vorgehensweise (mit öffentlichen Schlüsseln) funktioniert nicht.
user@PC:~$ rm -rf .ssh/*
user@PC:~$ ssh-keygen -t rsa > /dev/null
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
user@PC:~$ ls .ssh/
id_rsa id_rsa.pub
user@PC:~$ ssh-copy-id -i localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is f7:87:b5:4e:31:a1:72:11:8e:5f:d2:61:bd:b3:40:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
user@localhost's password:
Now try logging into the machine, with "ssh 'localhost'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
user@PC:~$ ssh-agent $SHELL
user@PC:~$ ssh-add -L
The agent has no identities.
user@PC:~$ ssh-add
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
user@PC:~$ ssh-add -L
ssh-rsa ...MY KEY HERE
user@PC:~$ ssh-copy-id -i localhost
user@localhost's password:
Now try logging into the machine, with "ssh 'localhost'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
user@PC:~$ ssh localhost echo 'testing'
user@localhost's password:
user@PC:~$
Wie Sie im letzten Befehl sehen können, werden Sie immer noch nach dem Passwort gefragt !!! Wie kann ich das beheben? Ubuntu-10.04, OpenSSH_5.3p1
EDIT2:
Hinzufügen von Informationen zum sshd
user@PC:~$ cat /etc/ssh/sshd_config | grep Authentication
# Authentication:
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
ChallengeResponseAuthentication no
# PasswordAuthentication yes
#KerberosAuthentication no
#GSSAPIAuthentication no
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
EDIT3: Ading-Ergebnis von $ ssh -vv localhost
$ssh -vv localhost
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/identity
debug1: Offering public key: /home/user/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/user/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
user@localhost's password:
EDIT4:
Ich überprüfe nur, ob die Dateien identisch sind und die MD5-Summe übereinstimmt
RSAAuthentication yes
undPubkeyAuthentication yes
in Ihrer / etc / ssh / sshd_config? Was zeigt ssh -vv localhost? Ich habe es gerade mit einer 10.04 Box versucht und hatte kein Problem.Antworten:
Zunächst sollten Sie verstehen, was Sie tun:
Sie kopieren den öffentlichen Schlüssel
.ssh/id_rsa.pub
über ssh auf denselben Host (das ist localhost, derselbe Host). Wenn Sie durchlocalhost
einen anderen Host ersetzen , ist dies sinnvoller (aber wenn Sie dies versuchen, um zu lernen, wie es geht, ist das in Ordnung).Sobald Sie eine Kopie Ihres öffentlichen Schlüssels auf dem Remote-Host haben (oder auf dem gleichen, in dem Sie sich befinden), müssen Sie sicherstellen, dass Sie ihn für die Authentifizierung in Ihrem tatsächlichen Host verwenden und
ssh-agent
/ aufrufenssh-add
:Wenn Sie dann eine Passphrase eingegeben haben, werden Sie aufgefordert, diese nach der Eingabe einzugeben
ssh-add
. Wenn Sie einen privaten Schlüssel ohne Passphrase generiert haben, ist das alles.quelle
ssh-add
, bearbeiten Sie bitte Ihre Frage und geben Sie alles an, was Sie getan haben. Je mehr Informationen Sie geben, desto besser und schneller ist die Antwort.eval
"?Habe das Problem entdeckt.
Server mit Debugging ausführen:
Ich stellte fest, dass der auth_key nicht gelesen werden konnte
Repariert.
quelle
Führen Sie die folgenden Schritte aus
Standarddatei und leere Passphrase verwenden (in den nächsten 2 Schritten einfach die Eingabetaste drücken)
Kopieren Sie den Inhalt von ~ / .ssh / id_rsa.pub nach ~ / .ssh / authorized_keys
Stellen Sie sicher, dass die folgenden Berechtigungen vorhanden sind
Stellen Sie außerdem sicher, dass die Berechtigungen für das Verzeichnis .ssh vorliegen. Das ist auch wichtig
quelle
authorized_keys
behebt das Festlegen der Berechtigung auf 0600 das Problem, während die Berechtigung des.ssh
Verzeichnisses keine Auswirkungen auf sshing localhostVereinfachen Sie die Serverkonfiguration
Möglicherweise müssen Sie die kennwortbasierte Authentifizierung deaktivieren. Dies ist eine sshd_config, die ich benutze
Probieren Sie zuerst etwas Minimales aus und ergänzen Sie es dann, wenn Sie zusätzliche Funktionen benötigen.
Aktualisieren:
Überprüfen Sie die Serverprotokolle
In EDIT3 wird angezeigt, dass die Authentifizierung mit öffentlichem Schlüssel fehlschlägt, bevor der Client eine kennwortbasierte Authentifizierung versucht. Das Syslog Ihres Servers kann einige Nachrichten von sshd enthalten, die etwas Licht in diese Richtung bringen.
Geänderte Konfigurationen neu laden
Denken Sie daran, zu signalisieren
sshd
, dass alle Konfigurationsänderungen neu geladen werden sollen. Z.Bkill -HUP $(cat /etc/sshd.pid)
quelle
In Bezug auf den obigen Beitrag habe ich die Zeile geändert, obwohl ich das gleiche Problem hatte
in der Datei / etc / ssh / sshd_config und es hat funktioniert.
Darüber hinaus ist es vielleicht besser zu verwenden
sshd Konfigurationsänderungen neu zu laden.
quelle
Eine andere Lösung für die SELinux-Funktion von Red Hat Enterprise Linux 6.5, mit der sshd daran gehindert wird, $ HOME / .ssh zu lesen, ist die Verwendung von restorecon. Den Antwortenden finden Sie hier: /superuser//a/764020/213743 .
quelle
Für mich war es so einfach wie
quelle
Ich hatte das gleiche Problem, ich habe die folgenden 3 Schritte ausgeführt, um das Passwort abzüglich der Anmeldung zu erstellen, und es funktioniert einwandfrei
quelle