Folgen Sie dieser Schritt-für-Schritt-Anleitung, um die SSH-Schlüsselauthentifizierung auf Ihrem Ubuntu-Server zu konfigurieren. Melden Sie sich sicher ohne Passwort an und deaktivieren Sie optional die Passwortauthentifizierung vollständig.
Befolgen Sie jeden Schritt sorgfältig, um die SSH-Schlüsselbasierte Authentifizierung auf Ihrem Ubuntu-Server einzurichten.
Führen Sie den folgenden Befehl auf Ihrem lokalen Rechner aus, um ein RSA-Schlüsselpaar zu generieren (aktuelle Versionen von ssh-keygen verwenden standardmäßig 3072 Bit – verwenden Sie -b 4096 für einen stärkeren Schlüssel):
$ ssh-keygenWenn Sie nach einem Dateipfad gefragt werden, drücken Sie die Eingabetaste , um den Standardpfad ( ~/.ssh/id_rsa ) zu übernehmen. Optional können Sie eine Passphrase für zusätzliche Sicherheit festlegen.
Es werden zwei Dateien erstellt: ~/.ssh/id_rsa (privater Schlüssel – diesen geheim halten) und ~/.ssh/id_rsa.pub (öffentlicher Schlüssel – dieser kommt auf den Server).
Methode 1 — ssh-copy-id (empfohlen):
$ ssh-copy-id username@remote_hostGeben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden. Der öffentliche Schlüssel wird auf dem Server an die Datei ~/.ssh/authorized_keys angehängt.
Methode 2 – über SSH-Pipe:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"Methode 3 — manuell: Zeigen Sie Ihren öffentlichen Schlüssel mit cat ~/.ssh/id_rsa.pub an und hängen Sie die Ausgabe dann an ~/.ssh/authorized_keys auf dem Remote-Server an.
Testen Sie die Funktionsfähigkeit der schlüsselbasierten Authentifizierung, indem Sie eine Verbindung zu Ihrem Server herstellen:
$ ssh username@remote_hostWenn Sie in Schritt 1 eine Passphrase festgelegt haben, werden Sie zur Eingabe aufgefordert. Andernfalls werden Sie ohne Passwortabfrage sofort angemeldet.
Sobald Sie die Funktionsfähigkeit der schlüsselbasierten Anmeldung bestätigt haben, können Sie die Passwortauthentifizierung deaktivieren, um den Server besser gegen Brute-Force-Angriffe zu schützen. Öffnen Sie die SSH-Daemon-Konfiguration:
sudo nano /etc/ssh/sshd_configSuchen Sie nach PasswordAuthentication , entfernen Sie gegebenenfalls die Kommentarzeichen in der Zeile und setzen Sie den Wert auf no :
PasswordAuthentication noIn aktuellen Ubuntu-Versionen endet die sshd_config mit der Zeile Include /etc/ssh/sshd_config.d/*.conf . Eine Datei in diesem Verzeichnis kann Ihre gerade vorgenommenen Einstellungen überschreiben. Falls Ihre Änderung nicht wirksam wird, prüfen Sie, ob in /etc/ssh/sshd_config.d/ die Zeile PasswordAuthentication yes ist, und bearbeiten Sie diese gegebenenfalls dort.
Speichern Sie die Datei ( Strg+X , dann Y , dann Eingabetaste ) und starten Sie SSH neu:
$ sudo systemctl restart sshÖffnen Sie ein neues Terminal und vergewissern Sie sich, dass Sie noch eine Verbindung herstellen können, bevor Sie Ihre aktuelle Sitzung schließen.
Häufig gestellte Fragen zur Einrichtung der SSH-Schlüsselauthentifizierung unter Ubuntu.