Wenn Sie häufig SSH verwenden, um sich mit einem entfernten Host zu verbinden, besteht eine Möglichkeit, Ihren SSH-Server zu sichern, darin, einen öffentlichen/privaten SSH-Schlüssel zu verwenden, sodass kein Passwort über das Netzwerk übertragen wird. Es kann auch vor Brute-Force-Angriffen schützen.
Unter Linux ist das Erstellen eines öffentlichen/privaten SSH-Schlüssels einfach.
- Öffnen Sie ein Terminal. Typ:
ssh-keygen -t rsa
Alternativ können Sie auch die verwenden DSA (Digital Signing Algorithmus) Technologie zur Erstellung des öffentlichen/privaten Schlüssels.
ssh-keygen -t dsa
Notiz: Es wurde viel über die Sicherheit von DSA und RSA diskutiert. Meiner Meinung nach spielt es keine Rolle, für welche der beiden Sie sich entscheiden, es sei denn, Sie sind sehr anspruchsvoll und lieben es, in die technischen Details zwischen den beiden Technologien einzutauchen. Beides wird gut funktionieren.
- Auf dem nächsten Bildschirm sollten Sie eine Eingabeaufforderung sehen, die nach dem Speicherort für den Schlüssel fragt. Der Standardspeicherort ist der Ordner .ssh in Ihrem Home-Verzeichnis. Drücken Sie Eintreten um die Standardeinstellung zu akzeptieren.
- Sie werden aufgefordert, eine Passphrase einzugeben – NICHT die Passphrase, um eine Verbindung zu Ihrem Remote-Host herzustellen, sondern die Passphrase, um den privaten Schlüssel zu entsperren, sodass niemand auf Ihren Remote-Server zugreifen kann, selbst wenn er Ihren privaten Schlüssel hat. Die Passphrase ist optional. Um es leer zu lassen, drücken Sie einfach Eintreten.

- Ihr öffentlicher und privater SSH-Schlüssel sollte nun generiert werden. Öffnen Sie den Dateimanager und navigieren Sie zum .ssh-Verzeichnis. Sie sollten zwei Dateien sehen: id_rsa und id_rsa.pub.

- Laden Sie Ihren neuen öffentlichen SSH-Schlüssel auf Ihren Remote-Host hoch, indem Sie den folgenden Befehl ausführen:
ssh-copy-id username@remote-host-ip-address

- Melden Sie sich bei Ihrem Remote-Host an und bearbeiten Sie Ihre SSH-Konfigurationsdatei:
ssh username@remote-host-ip-address sudo nano /etc/ssh/sshd_config
Scrollen Sie in der Konfigurationsdatei nach unten und stellen Sie sicher, dass die folgenden Attribute richtig eingestellt sind:
RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no
Drücken Sie Strg + Ö um die Datei dann zu schreiben und zu speichern Strg + X um die Datei zu schließen.

- Starten Sie den SSH-Server auf dem Remote-Host neu:
sudo systemctl restart ssh
Das ist es. Sie können sich jetzt mit dem folgenden Befehl mit Ihrem Remote-Host verbinden:
ssh username@remote-host-ip-address

Häufig gestellte Fragen
Ich habe meinen SSH-Schlüssel auf meinen Remote-Server kopiert und erhalte die Fehlermeldung „Permission Denied“.
Dieses Problem ist höchstwahrscheinlich auf ein Problem mit dem „.ssh“-Ordner Ihres Remote-Hosts zurückzuführen. Standardmäßig lehnt der SSH-Daemon alle eingehenden Verbindungen ab, wenn sein Konfigurationsordner und die Datei „authorized_keys“ nicht die richtigen Berechtigungsbits haben.
Um die Datei- und Ordnerberechtigungen zu ändern, greifen Sie auf eine lokale Konsole für Ihren Remote-Computer zu, gehen Sie in Ihr „/home“-Verzeichnis und führen Sie Folgendes aus: chmod 700 /home/$USER/.ssh && chmod 600 /home/$USER/.ssh/authorized_keys. Starten Sie zuletzt den Daemon neu, um Ihre neuen Einstellungen zu übernehmen: sudo systemctl restart ssh.
Ist es möglich, mehrere SSH-Schlüssel für denselben Remote-Server zu erstellen?
Ja! Sie müssen jedoch sicherstellen, dass jeder SSH-Schlüssel auf Ihrem Computer einen eindeutigen Dateinamen hat, indem Sie Folgendes ausführen: ssh-keygen -f /home/$USER/.ssh/filename.
Stellen Sie außerdem sicher, dass Sie den Schlüssel angeben, den Sie verwenden möchten, um sich bei Ihrem Remote-Host anzumelden, indem Sie Folgendes ausführen: ssh -i /home/$USER/.ssh/filename [email protected].
Ist es möglich, einen neuen SSH-Schlüssel mit einem alten Arbeitsschlüssel auf einen Remote-Host zu importieren?
Ja! Importieren Sie zunächst Ihren neuen Schlüssel in den SSH-Authentifizierungsagenten: ssh-add. Melden Sie sich als Nächstes bei Ihrem alten Computer an und importieren Sie seinen Schlüssel in denselben Authentifizierungsagenten: ssh -A old.machine.ip.address && ssh-add -c.
Verlassen Sie zuletzt die alte Maschine durch Drücken von Strg + D und stellen Sie mit Ihren neuen und alten Schlüsseln eine Verbindung zu Ihrem Remote-Host her.
Unterstützen Sie unsere Arbeit ❤️
Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.
























