Voraussetzungen
SSH Server ist standardmäßig nicht auf Ubuntu installiert. Sie müssen das OpenSSH -Paket installieren, das vor Beginn dieses Tutorials als SSH -Server funktioniert. Führen Sie den folgenden Befehl aus, um den OpenSSH -Server zu installieren, wenn er vorher nicht im System installiert ist.
$ sudo apt install OpenSSH-ServerGenerieren Sie einen SSH -Schlüssel
Generieren Sie die SSH -Schlüsselpaare, um die Befehle auf dem Remote -Server auszuführen. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel und den privaten Schlüssel zu erstellen. Der private Schlüssel wird auf dem Remote -Server gespeichert und die öffentlichen Schlüssel werden sicher im Client gespeichert.
$ ssh -keygen -t RSANach Ausführung des obigen Befehls wird der Dateiname gefragt, in dem der Schlüssel gespeichert wird. Drücken Sie die Eingeben Schlüssel, um den Standarddateinamen des öffentlichen Schlüssels zu halten, nämlich id_rsa.Pub. Als nächstes wird das Passwort zum Anmeldung aufgefordert. Drücken Sie erneut die Eingeben Tasten Sie zweimal, wenn Sie das leere Passwort beibehalten möchten. Die folgende ähnliche Ausgabe erscheint nach dem Erzeugen der Tasten.
Erstellen Sie die Datei autorized_keys
id_rsa.Die Pub -Datei enthält den öffentlichen Schlüssel der SSH -Verbindung, die in ~/ gespeichert ist.SSH/ Ordner des Remote -Hosts. Der Kundenautomaten erfordert außerdem, dass der öffentliche Schlüssel mit dem Remote -Host, der im nächsten Teil des Tutorials kopiert wurde. Sie müssen die Datei mit dem Namen Authorized_keys im ~/ erstellen.SSH -Ordner des Remote -Hosts, der den öffentlichen Schlüssel enthält. Führen Sie den folgenden Befehl aus, um die ID_RSA zu verschieben.Pub -Datei zum ~/.ssh/autorized_keys Datei.
$ mv ~/.ssh/id_rsa.Pub ~/.ssh/autorized_keysEs wird kein Fehler angezeigt, wenn die Datei ordnungsgemäß verschoben wird, wie das folgende Bild.
Ändern Sie die Konfigurationsdatei
Sie müssen einige Konfigurationsparameter in der Servermaschine festlegen, um die SSH -Verbindung ohne Kennwort herzustellen. Führen Sie den folgenden Befehl aus, um die Datei SSHD_CONFIG mithilfe von NANO -Editor zu öffnen, um die erforderlichen Parameterwerte festzulegen.
$ sudo nano/etc/ssh/sshd_configSetzen Sie den Wert der Passwortauthentifizierung auf Nein, um die Option Text Passwort für die SSH -Verbindung zu deaktivieren.
PasswortAuthentication -Nr
Speichern und schließen Sie die Datei. Führen Sie den folgenden Befehl aus, um den SSH -Dienst neu zu starten.
$ sudo systemctl neu starten ssh neu startenFühren Sie den folgenden Befehl aus, um die Berechtigungsbits für die Datei autorized_keys festzulegen, um den unbefugten Zugriff dieser Datei zu verhindern.
$ chmod 600 ~/.ssh/autorized_keysKopieren Sie den öffentlichen Schlüssel im Kundenautomaten
Melden Sie sich nun im Client -Computer an, von wo aus Sie den SSH -Befehl ausführen, um eine SSH -Verbindung mit dem Remote -Host herzustellen. Hier wurden zwei Benutzerkonten von Ubuntu verwendet, um die SSH -Verbindung auf dem lokalen Server zu überprüfen. Ein Benutzerkonto wurde als Client verwendet, und ein anderes Benutzerkonto wurde in diesem Tutorial als Server verwendet.
Führen Sie den folgenden Befehl aus, um einen Ordner mit dem Namen ~/ zu erstellen.SSH im Client -Computer, wenn es nicht vorhanden ist.
$ mkdir ~/.sshFühren Sie den folgenden Befehl aus, um den öffentlichen Schlüssel aus dem Remote -Host in das ~/ zu kopieren.SSH -Ordner des Clients.
$ scp fahmida@fahmida-virtualbox:/home/fahmida/.ssh/id_rsa ~/.ssh/Sie müssen das Passwort des Benutzernamens des Remote -Host. Sie erhalten die folgende Ausgabe, wenn die Datei ordnungsgemäß kopiert wird. Der Client -Computer ist nun bereit, die Verbindung mit dem Servergerät mit dem SSH -Dienst herzustellen.
Melden Sie sich an der Servermaschine mit SSH ohne Passwort an
Jetzt existiert der öffentliche Schlüssel sowohl in Client- als auch in Serverautomaten. Wenn der Client -Computer die Verbindungsanforderung über den SSH -Befehl an den Servergerät sendet. Wenn die Übereinstimmungen gefunden werden, wird die Verbindung vom Client zum Server hergestellt. Sie können eine Verbindung zum Server oder zum Remote -Host herstellen, indem Sie den Hostnamen oder die IP -Adresse verwenden. Der lokale Server hat dieses Tutorial verwendet, um die Verwendung der Autorized_Keys anzuzeigen, um die SSH -Verbindung vom Client -Computer zum Servergerät herzustellen. Ein Konto wurde als Servermaschine verwendet, auf dem der OpenSSH -Server installiert ist, und ein anderes Konto wurde hier als Client -Computer verwendet. Führen Sie den folgenden Befehl vom Client -Computer aus, um eine Verbindung mit der Servermaschine herzustellen.
$ ssh fahmida@fahmida-virtualboxNach der Ausführung des obigen Befehls wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt, dass der Benutzername des Client -Geräts "Yesmin" ist."Der Benutzername der Servermaschine ist" Fahmida."Die SSH -Verbindung wurde ordnungsgemäß hergestellt, weil sich der Benutzername in" Fahmida "aus dem" Jamin.'Jetzt kann auf den Inhalt des Servergeräts einfach zugegriffen werden. Wenn der Benutzer jetzt einen Befehl ausführt, wird die Ausgabe basierend auf dem Servergerät generiert.
Abschluss
Die Verwendung der autorisierten_Keys zur Herstellung der SSH -Verbindung wurde in diesem Tutorial mithilfe des Localhost erläutert. Sie können denselben Vorgang befolgen, um die SSH -Verbindung für den Remote -Host herzustellen. Sie können auch den Befehl SSH-Copy-ID verwenden, um eine SSH-Verbindung mit dem in einem anderen Tutorial angezeigten Server herzustellen.