Hinweis: Dieser Artikel wurde ursprünglich im Jahr 2018 veröffentlicht. Einige Schritte, Befehle oder Softwareversionen können sich geändert haben. Überprüfen Sie die aktuelle Dokumentation für die neuesten Informationen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein System mit Ubuntu (Desktop- oder Server-Edition)
  • Terminal-Zugriff mit sudo-Berechtigungen
  • Grundlegende Vertrautheit mit der Linux-Kommandozeile

Sie kommen wahrscheinlich von einem früheren verwandten Beitrag ((</linux/ubuntu/resolved-permission-denied-publickey-when-trying-to-access-via-ssh-an-ubuntu-server/>)), aber falls nicht, sollten Sie sich diesen ansehen, damit Sie eine Vorstellung davon bekommen, warum Sie Ihren SSH-Public-Key außerhalb Ihres Home-Verzeichnisses speichern möchten. Ich bin kein Sicherheitsexperte, daher ist dies möglicherweise keine gute Praxis auf gemeinsam genutzten Servern, aber in meinem Szenario sind alle vertrauenswürdige Benutzer, sodass das Speichern der SSH-Public-Keys der Benutzer an einem anderen Ort eine akzeptable Wahl war.

SSH-Public-Key in einem anderen Verzeichnis speichern

Der Schlüssel liegt hier in der Konfigurationsdatei unter /etc/ssh/sshd_config. Wir suchen nach der folgenden Einstellung: RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys Diese letzte Zeile ist hier der Schlüssel. Im Moment ist sie auskommentiert, aber Sie können das Standardverhalten des Programms sehen: %h bedeutet das Home-Verzeichnis, sodass es grundsätzlich im Home-Verzeichnis jedes Benutzers die authorized_keys für den jeweiligen Benutzer speichert. In meinem Fall war das Home-Verzeichnis verschlüsselt, sodass ich immer einen ”(</linux/ubuntu/resolved-permission-denied-publickey-when-trying-to-access-via-ssh-an-ubuntu-server/>)“-Fehler erhielt, wenn ich versuchte, mich per SSH mit meinem Server zu verbinden, da der SSH-Dienst mein Home-Verzeichnis nicht entschlüsseln und meinen/meine Public-Key(s) validieren konnte. Lösung? Ich habe es an einen anderen Ort verschoben, nehmen Sie zum Beispiel diesen: /etc/ssh/authorized_keys/%u. Das speichert im /etc/-Ordner, der vom Dienst gelesen werden kann, die autorisierten Schlüssel jedes Benutzers unter einer Datei mit ihrem Benutzernamen. So würde die Zeile aussehen: AuthorizedKeysFile /etc/ssh/authorized_keys/%u Da jeder Benutzer in der Lage sein muss, in den Ordner zu schreiben, um seine Schlüssel zu speichern, müssen Sie ihn für sie beschreibbar machen oder die Dateien manuell erstellen und ihre jeweiligen Eigentümer festlegen. Wenn Sie viele Benutzer haben, ist Option eins am sinnvollsten, aber wenn Sie nur wenige haben, dann setzen Sie die Datei und Berechtigungen einfach manuell fest, um sicherer zu sein. Starten Sie den Dienst neu und Sie werden sehen, dass alles wieder wie gewohnt funktioniert. Ich hoffe, das hilft Ihnen weiter!

Zusammenfassung

Sie haben erfolgreich gelernt, wie Sie Ihren SSH-Public-Key in einem anderen Verzeichnis speichern. Wenn Sie auf Probleme stoßen, überprüfen Sie die Voraussetzungen und stellen Sie sicher, dass Ihre SSH-Umgebung korrekt konfiguriert ist.

Verwandte Artikel