SSH wird für die Validierung und Authentifizierung der Benutzer unter Verwendung von Schlüsselwertpaaren wie privaten und öffentlichen Schlüsseln verwendet. Solche Schlüssel werden mit dem Befehl ssh-keygen generiert. Sie können verschiedene Arten von Schlüsseln wie RSA, DSA usw. generieren.
In diesem Artikel werden wir den Prozess der Verwendung des Befehls ssh-keygen zum Generieren verschiedener Schlüssel besprechen, die die von SSH verwendeten öffentlichen und privaten Schlüssel authentifizieren. Wir werden es auf dem Ubuntu 20.04 LTS-Server demonstrieren.
Verwendung von ssh-keygen
Wenn Sie den Befehl ssh-keygen verwenden, können Sie verschiedene Arten von Schlüsseln wie RSA, DSA usw. generieren. Lassen Sie uns also zuerst diese Tasten mit Hilfe der unten besprochenen Punkte verstehen.
- $HOME/.ssh/id_rsa:RSA-Authentifizierungsidentitätsdatei des Benutzers. Es ist nur für den Benutzer lesbar.
- $HOME/.ssh/id_rsa.pub:Öffentliche RSA-Schlüsseldatei für die Authentifizierung.
Solche öffentlichen Schlüsseldateien werden auf den Remote-Server kopiert, damit sich der Benutzer mit der SSH-Authentifizierung anmelden kann. Es wird in die Datei $HOME/.ssh/authorized_keys des entfernten Servers kopiert.
- $HOME/.ssh/id_dsa:DSA-Authentifizierungsidentitätsdatei des Benutzers. Es ist nur für den Benutzer lesbar.
- $HOME/.ssh/id_dsa.pub:Öffentliche DSA-Schlüsseldatei für die Authentifizierung.
ssh-keygen zum Erstellen von RSA-Schlüsseln
Hier wird ssh-keygen verwendet, um RSA-Schlüssel für die Authentifizierung zu erstellen. Wenn Sie nur den Befehl ssh-keygen verwenden, werden standardmäßig die rsa-Schlüssel generiert. Lassen Sie uns die RSA-Schlüssel generieren, indem Sie den unten gezeigten Befehl ausführen.
$ ssh-keygen -t rsa
Oder
$ ssh-keygen
Nachdem Sie den obigen Befehl ausgeführt haben, sehen Sie eine ähnliche Ausgabe wie unten.
Hier sind sowohl der öffentliche Schlüssel, also id_rsa.pub und privater Schlüssel, d. h. id_rsa werden am Standardspeicherort $HOME/.ssh/.
gespeichertDa der öffentliche Schlüssel auf den Remote-Server kopiert werden muss, kann sich der Benutzer mit der SSH-Authentifizierung anmelden. Es wird in die Datei $HOME/.ssh/authorized_keys des Remote-Servers kopiert. Lassen Sie uns den öffentlichen Schlüssel überprüfen, der mit dem obigen Befehl generiert wurde.
$ cat id_rsa.pub
Kopieren Sie einfach diesen öffentlichen Schlüssel und fügen Sie ihn an dieser Stelle ein:$HOME/.ssh/authorized_keys-Datei des Remote-Servers für die Authentifizierung.
ssh-keygen zum Erstellen von DSA-Schlüsseln
Ebenso können DSA-Schlüssel auch durch einfache Änderung im Befehl erstellt werden. Wenn Sie nur den Befehl ssh-keygen verwenden, werden standardmäßig die rsa-Schlüssel generiert. Aber um DSA-Schlüssel zu generieren, geben Sie einfach -t dsa als Argument in den Befehl ein. Für weitere Details können Sie den Befehl wie unten gezeigt ausführen.
$ ssh-keygen -t dsa
Wenn Sie den obigen Befehl ausführen, erhalten Sie die Ausgabe als:
Sowohl der öffentliche Schlüssel, also id_dsa.pub und privater Schlüssel, d. h. id_dsa werden auch am Standardspeicherort $HOME/.ssh/.
gespeichertSie können den öffentlichen Schlüssel einfach auf den Remote-Server kopieren, damit sich der Benutzer mit der SSH-Authentifizierung anmelden kann. Es wird in die Datei $HOME/.ssh/authorized_keys des Remote-Servers kopiert. Lassen Sie uns den öffentlichen Schlüssel überprüfen, der mit dem obigen Befehl generiert wurde.
$ cat id_dsa.pub
Kopieren Sie diesen öffentlichen Schlüssel und fügen Sie ihn an dieser Stelle ein:$HOME/.ssh/authorized_keys-Datei des Remote-Servers für die Authentifizierung.
Schlussfolgerung
In diesem Artikel haben Sie gelernt, wie Sie verschiedene Arten von Schlüsseln wie RSA, DSA zur Authentifizierung generieren und sich mit den verschiedenen Remote-Servern verbinden, indem Sie den öffentlichen Schlüssel in die Datei $HOME/.ssh/authorized_keys des Remote-Servers kopieren. Vielen Dank!