
Also habe ich passwortloses SSH wie folgt eingerichtet:Wie kann ich eine passwortlose SSH-Anmeldung einrichten?
Nachdem ich dies eingerichtet habe, würde ich erwarten, dass ich kein Passwort für SSH benötige. Mein Problem ist, dass ich bei meiner ersten Verbindung mit SSH nach einem Passwort gefragt werde, aber bei zusätzlichen Sitzungen darüber hinausnichtnach einem Passwort fragen.
Ich habe meine sshd_config bereits überprüft, um sicherzustellen, dass sie Folgendes enthält:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
Ich bin ziemlich sicher, dass meine Berechtigungen richtig sind, denn wenn sie es nicht wären, würde das passwortlose SSH überhaupt nicht funktionieren.
Um dieses Problem noch „lustiger“ zu machen, habe ich bemerkt, dass es manchmal funktioniert, wenn ich meinen Computer (entweder den Client-Computer oder den SSH-Server-Computer) neu starte. Wenn ich den Computer dann herunterfahre und es am nächsten Tag erneut versuche, funktioniert es nicht mehr. Vielleicht ist das völlig zufällig, aber es ist etwas, das mir aufgefallen ist.
Antwort1
Dies ist ein häufiges Problem bei verschlüsselten Heimnetzwerken und wurde bereits oft beantwortet, zum Beispiel aufUnix, sondern wird sogar in offiziellenUbuntu-Dokumentation.
Dies liegt wahrscheinlich daran, dass Ihr Home-Verzeichnis (und damit der Schlüssel) während der Anmeldezeit nicht zugänglich ist. Dies kann daran liegen, dass Ihr Home-Verzeichnis nach der Anmeldung von einem Netzlaufwerk (auf einem gemeinsam genutzten System) gemountet wird oder dass Ihr Home-Verzeichnis verschlüsselt ist (normalerweise bei Installationen von Arbeitsstationen).
Die Lösung dieses Problems ist kompliziert, aber ich werde mich für eine Diskussion darum kümmern. Die Lösung besteht darin, es
AuthorizedKeysFile
an einen anderen Ort zu verschieben, der zugänglich ist, oder in einen globalen Schlüsselspeicher (/etc/security/authorized_keys
) oder in eine Art SSO-Verwaltungssystem (IPA, LDAP), das Ihren Schlüssel vom Verzeichnisserver abruft (ja, kann lokal sein). Hängt davon ab, wie viel Kontrolle Sie über das Zielsystem haben.Die beste Lösung besteht wahrscheinlich darin, Ihre Schlüssel an einem anderen Ort zu speichern und den Wert wie folgt zu ändern
sshd_config
:AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Wenn Sie Ihre verschieben authorized_keys
, stellen Sie auf jeden Fall sicher, dass sie über die richtigen Berechtigungen verfügen, und berücksichtigen Sie die Tatsache, dass Sie bei Anmeldung mit einem öffentlichen Schlüssel nicht auf Ihr Home-Verzeichnis zugreifen können (es ist mit Ihrem Passwort verschlüsselt!), es sei denn, Sie ändern die Art der Verschlüsselung.
Antwort2
Wenn das Zertifikat richtig kopiert wurde, sollte es mit der Verbindung im folgenden Format funktionieren:
ssh hostname\ip -l username
Dabei ist Benutzername der Benutzer, der Ihr Zertifikat in .ssh/authorized_keys hat