So generieren Sie einen öffentlichen/privaten SSH-Schlüssel unter Linux 1

So generieren Sie einen öffentlichen/privaten SSH-Schlüssel unter Linux

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.

  1. Ö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.

  1. 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.
  1. 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.
Ssh-Schlüssel generieren Linux 02 Neue Passphrase hinzufügen
  1. 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.
Ssh-Schlüssel generieren Linux 03 Ssh-Ordnerdateien auflisten
  1. 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
Generieren Sie den SSH-Schlüssel Linux 04 Kopieren Sie den Schlüssel auf den Remote-Host
  1. 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.

Ssh-Schlüssel generieren Linux 05 Remote-Host-SSH-Daemon ändern
  1. 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
Ssh-Schlüssel generieren Linux 06 Seamless Ssh Login Remote Host

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.

Ramces Rot
Ramces Rot

Ramces ist ein Technologieautor, der sein ganzes Leben mit Computern gelebt hat. Als produktiver Leser und Student der Anthropologie ist er ein exzentrischer Charakter, der Artikel über Linux und alles Mögliche schreibt.

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.

Sichere Zahlung mit PayPal