GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So konfigurieren Sie autorisierte SSH-Schlüssel auf Ubuntu

SSH oder Secure Shell wurde entwickelt, um auf die Inhalte von zuzugreifen Remote-Host, um verschiedene Arten von Aufgaben remote auszuführen. SSH ist nicht standardmäßig auf Ubuntu installiert. Nach der Installation kann SSH einen passwortgeschützten, verschlüsselten Zugriff auf das entfernte System bereitstellen. Der SSH-Server läuft auf dem Remote-Host und der SSH-Client läuft auf dem System, das die Remote-Verbindung herstellt. die autorisierten_schlüssel Die Datei ist der wichtigste Teil der SSH-Verbindung. Es gibt die Schlüssel an, die verwendet werden, um die Benutzer zu authentifizieren, die sich mit der Public-Key-Authentifizierung beim Remote-Host anmelden dürfen. Die Verwendung dieser Datei für die SSH-Verbindung wurde in diesem Tutorial erklärt.

Anforderungen

Der SSH-Server wird standardmäßig nicht auf Ubuntu installiert. Sie müssen das OpenSSH-Paket installieren, das als SSH-Server fungiert, bevor Sie mit diesem Tutorial beginnen. Führen Sie den folgenden Befehl aus, um den OpenSSH-Server zu installieren, falls er noch nicht auf dem System installiert ist.

$ sudo apt install openssh-server

Generieren Sie einen SSH-Schlüssel

Generieren Sie die SSH-Schlüsselpaare, um die Befehle auf dem Remoteserver 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 rsa

Nachdem Sie den obigen Befehl ausgeführt haben, werden Sie nach dem Dateinamen gefragt, in dem der Schlüssel gespeichert werden soll. Drücken Sie die Eingabetaste key, um den standardmäßigen Dateinamen des öffentlichen Schlüssels beizubehalten, der id_rsa.pub ist . Als nächstes werden Sie nach dem Passwort gefragt, um sich anzumelden. Drücken Sie erneut Enter drücken Sie zweimal, wenn Sie das leere Passwort behalten möchten. Die folgende ähnliche Ausgabe wird nach dem Generieren der Schlüssel angezeigt.

Erstellen Sie die Datei „authorized_keys“

Die Datei id_rsa.pub enthält den öffentlichen Schlüssel der SSH-Verbindung, der im Ordner ~ / .ssh / des Remote-Hosts gespeichert ist. Der Client-Computer benötigt auch den öffentlichen Schlüssel, um eine Verbindung zum Remote-Host herzustellen, der im nächsten Teil des Tutorials kopiert wird. Sie müssen die Datei „authorized_keys“ im Ordner „~/.ssh“ des Remote-Hosts erstellen, die den öffentlichen Schlüssel enthält. Führen Sie den folgenden Befehl aus, um die Datei id_rsa.pub in die Datei ~ / .ssh /authorized_keys zu verschieben.

$ mv ~ / .ssh / id_rsa.pub ~ / .ssh / authorisierte_schlüssel

Sie erhalten keine Fehlermeldung, wenn die Datei wie in der folgenden Abbildung korrekt verschoben wurde.

Ändern Sie die Konfigurationsdatei

Sie müssen einige Konfigurationsparameter auf dem Servercomputer einstellen, um die SSH-Verbindung ohne Passwort herzustellen. Führen Sie den folgenden Befehl aus, um die Datei sshd_config mit dem Nano-Editor zu öffnen und die erforderlichen Parameterwerte festzulegen.

$ sudo nano / etc / ssh / sshd_config

Setzen Sie den Wert von PasswordAuthentication auf no, um die Textkennwortoption für die SSH-Verbindung zu deaktivieren.

Passwort-Authentifizierungs-Nr.

Speichern und schließen Sie die Datei. Führen Sie den folgenden Befehl aus, um den SSH-Dienst neu zu starten.

$ sudo systemctl startet ssh neu

Führen Sie den folgenden Befehl aus, um die Autorisierungsbits in der Datei "authorized_keys" festzulegen, um unbefugten Zugriff auf diese Datei zu verhindern.

$ chmod 600 ~ / .ssh / authorisierte_schlüssel

Kopieren Sie den öffentlichen Schlüssel auf den Client-Computer

Melden Sie sich nun bei dem Client-Computer an, von dem aus Sie den Befehl ssh ausführen, um eine SSH-Verbindung mit dem Remote-Host herzustellen. Hier wurden zwei Benutzerkonten von Ubuntu verwendet, um die SSH-Verbindung im lokalen Server zu überprüfen. In diesem Tutorial wurde ein Benutzerkonto als Client und ein anderes Benutzerkonto als Server verwendet.

Führen Sie den folgenden Befehl aus, um einen Ordner mit dem Namen ~ / .ssh auf dem Client-Computer zu erstellen, falls er nicht vorhanden ist.

$ mkdir ~ / .ssh

Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel vom Remote-Host in den Ordner ~ / .ssh des Clients zu kopieren.

$ scp [E-Mail-geschützt]:/home/fahmida/.ssh/id_rsa ~ / .ssh /

Sie müssen das Kennwort des Benutzernamens des Remote-Hosts angeben, um den öffentlichen Schlüssel auf den Client-Computer zu kopieren. Sie erhalten die folgende Ausgabe, wenn die Datei korrekt kopiert wurde. Der Client-Rechner ist nun bereit, die Verbindung mit dem Server-Rechner über den SSH-Dienst herzustellen.

Melden Sie sich mit SSH ohne Passwort beim Servercomputer an

Jetzt ist der öffentliche Schlüssel sowohl auf Client- als auch auf Servercomputern vorhanden. Wenn der Client-Rechner mit dem ssh-Befehl die Verbindungsanfrage an den Server-Rechner sendet, vergleicht der Server den öffentlichen Schlüssel des Clients mit dem öffentlichen Schlüssel des Servers. Wenn die Übereinstimmungen gefunden werden, wird die Verbindung vom Client zum Server hergestellt. Über den Hostnamen oder die IP-Adresse können Sie eine Verbindung zum Server oder Remote-Host herstellen. Der lokale Server hat dieses Tutorial verwendet, um die Verwendung von „authorized_key“ zu zeigen, um die SSH-Verbindung vom Clientcomputer zum Servercomputer herzustellen. Ein Konto wurde als Server-Rechner verwendet, auf dem der OpenSSH-Server installiert ist, und ein anderes Konto wurde hier als Client-Rechner verwendet. Führen Sie den folgenden Befehl auf dem Clientcomputer aus, um eine Verbindung zum Servercomputer herzustellen.

$ ssh [E-Mail-geschützt]

Die folgende Ausgabe wird nach dem Ausführen des obigen Befehls angezeigt. Die Ausgabe zeigt, dass der Benutzername des Client-Rechners „yesmin“ ist. Der Benutzername des Server-Rechners lautet „fahmida“. Die SSH-Verbindung wurde korrekt hergestellt, da sich der Benutzername von „yesmin“ in „fahmida“ geändert hat. Auf die Inhalte des Server-Rechners kann nun problemlos zugegriffen werden. Wenn der Benutzer jetzt einen Befehl ausführt, wird die Ausgabe basierend auf dem Servercomputer generiert.

Diplom

Die Verwendung der Authorized_Keys zum Aufbau der SSH-Verbindung wurde in diesem Tutorial anhand des localhost erklärt. Sie können den gleichen Vorgang ausführen, 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 Server herzustellen, der in einem anderen Tutorial gezeigt wird.


Ubuntu
  1. So generieren Sie SSH-Schlüssel unter Ubuntu 18.04

  2. Ubuntu 20.04 SSH-Server

  3. So installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie VNC unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie VNC unter Ubuntu 18.04

So installieren Sie OpenSSH unter Ubuntu 20.04

So installieren Sie den SSH-Server in Ubuntu 20.04

So aktivieren Sie den SSH-Server unter Ubuntu 22.04

So installieren Sie den SSH-Server unter Ubuntu 18.04 LTS

So installieren Sie den SSH-Server unter Ubuntu 20.04 LTS

So installieren Sie den SSH-Server unter Ubuntu 22.04 LTS