Kurz gesagt, SSH oder 'Secure Shell' ist ein verschlüsseltes Protokoll, mit dem Sie eine Verbindung zu einem Server aus der Ferne herstellen können und Zugriff auf die damit verbundenen Informationen haben können. Es bietet eine viel sicherere Art der Anmeldung, um eine sichere Methode zur Anmeldung zu bieten, ohne die Sicherheit zu beeinträchtigen.
Schritt 1: Erstellen Sie das Schlüsselpaar
Wir werden mit dem Erstellen eines Schlüsselpaars auf dem System des Clients zuerst mit Root -Zugriff nach Typ im Folgenden erstellen:
$ ssh-keygen
Dies löst den neuesten SSH-Keygen aus, ein 3072-Bit-RSA-Schlüsselpaar standardmäßig zu erstellen. Sie können das Flag -b 4086 -Flag hinzufügen, um einen größeren Schlüssel zu erzeugen. Drücken Sie die Eingabetaste und speichern das Schlüsselpaar in .SSH/ Subverzeichnis. Beachten Sie, dass Sie, wenn Sie ein Gast auf einem Server sind, der bereits einen Schlüssel installiert hat. Wenn dies der Fall ist, geben Sie 'y' ein, um ein Ja zu signalisieren.
Als nächstes fragt die Eingabeaufforderung Sie, ob Sie eine Passphrase hinzufügen möchten. Sie können sich abmelden, aber wir empfehlen Ihnen, einen hinzuzufügen. Es stärkt das Sicherheitsprotokoll, indem es eine zusätzliche Schutzschicht für einen nicht autorisierten Benutzer serviert.
Schritt 2: Kopieren Sie den öffentlichen Schlüssel auf Ihren Server
Als nächstes müssen wir den öffentlichen Schlüssel auf Ihren Ubuntu -Server übertragen.
Sie können das Dienstprogramm SSH-Copy-ID verwenden, indem Sie den folgenden Befehl verwenden:
$ ssh-copy-id Benutzername@server_host
Dies sollte den Trick innerhalb weniger Sekunden tun. Wenn der Schlüssel erfolgreich kopiert wurde, bewegen Sie sich den dritten Schritt.
Manchmal kommt es so vor, dass die SSH-Copy-ID-Methode fehlschlägt oder einfach nicht verfügbar ist. In diesem Fall müssen Sie es über kennwortbasiertes SSH kopieren. Dadurch können Sie den Befehl CAT verwenden und sicherstellen, dass das >> Symbol zum Inhalt hinzugefügt wird, anstatt ihn zu überschreiben.
$ cat ~/.ssh/id_rsa.Pub | ssh remote_username@server_ip_address
"mkdir -p ~/.ssh && cat >> ~//.ssh/autorized_keys "
Wenn Sie sich zum ersten Mal mit einem neuen Host verbinden, zeigt Ihr System Ihnen so etwas wie:
Geben Sie einfach Ja ein und drücken Sie die Eingabetaste. Geben Sie dann das Passwort in das Benutzerzugriffskonto ein, und der öffentliche Schlüssel wird auf Ihren Ubuntu -Server kopiert.
Falls der passwortbasierte SSH-Zugriff Ihnen aus irgendeinem Grund verweigert wird, können Sie die öffentliche Taste immer manuell kopieren. Fügen Sie das ~/ hinzu.ssh/autorized_keys an die id_rsa.Pub -Datei auf Ihrem Remote -Computer. Melden Sie sich als Nächst. Wenn dies nicht der Fall ist, geben Sie ein:
$ mkdir -p ~/.ssh
Jetzt müssen Sie nur noch den Schlüssel hinzufügen:
$ echo public_key_string >> ~/.ssh/autorized_keys
$ chmod -r go = ~//.ssh
Stellen Sie außerdem sicher, dass Sie das ~ ssh/ verwenden BENUTZER Verzeichnis und NICHT Das Stammverzeichnis:
$ chown -r younis: younis ~/.ssh
Schritt 3: Authentifizieren Sie die SSH -Tasten
Der nächste Schritt besteht darin, die SSH -Tasten auf dem Ubuntu -Server zu authentifizieren. Melden Sie sich zunächst bei Ihrem Remote -Host an:
$ ssh userername@remote_host
Sie werden aufgefordert, die in Schritt 2 hinzugefügte Passphrase -Taste einzugeben. Geben Sie es ab und fahren Sie fort. Die Authentifizierung dauert einige Zeit, und sobald sie fertig ist, werden Sie auf Ihrem Ubuntu -Server zu einer neuen interaktiven Shell gebracht
Schritt 4: Deaktivieren Sie die Kennwortauthentifizierung
Mit den authentifizierten SSH -Tasten benötigen Sie das Kennwortauthentifizierungssystem nicht mehr.
Wenn die Kennwortauthentifizierung auf Ihrem Server aktiviert ist, wird sie weiterhin für den nicht autorisierten Benutzerzugriff über Brute -Force -Angriffe neigen. Es wäre also besser, wenn Sie eine passwortbasierte Authentifizierung deaktivieren würden.
Überprüfen Sie zunächst, ob oder Sie die SSH-Keey-basierte Authentifizierung für die vorbereitet haben Wurzel Konto auf diesem Server. Wenn dies der Fall ist, sollten Sie es auf diesem Server in das von Sudo Privilegierte Benutzerzugriffskonto ändern, damit der Administratorzugriff für Sie im Notfall oder bei einem Notfall offen ist, wenn das System einige verdächtige Aktivitäten ausgesetzt ist.
Melden Sie sich auf dem Remote -Server mit SSH -Tasten mit SSH -Tasten mit Stamm- oder Sudo -Berechtigungen an, nachdem Sie Ihr Remote -Zugriffskonto zugelassen haben. Verwenden Sie dann den folgenden Befehl, um auf die Konfigurationsdatei des SSH -Daemon zuzugreifen:
$ sudo gedit/etc/ssh/sshd_config
Suchen Sie mit der jetzt geöffneten Datei nach dem Verzeichnis "passwordAuthentication" und geben Sie im Folgenden ein, um die Kennwortauthentifizierung und die kennwortbasierte SSH-Anmeldungen zu deaktivieren.
$/etc/ssh/sshd_config
…
PasswortAuthentication -Nr
…
Um diese Änderungen tatsächlich zu sehen, müssen Sie den SSHD -Dienst mit dem folgenden Befehl neu starten:
$ sudo systemctl neu starten ssh neu starten
Öffnen Sie vorsorglich ein neues Terminalfenster und testen Sie, dass der SSH -Dienst korrekt funktioniert, bevor Sie Ihre aktuelle Sitzung schließen.
Mit Ihren verifizierten SSH -Schlüsseln sollten Sie in der Lage sein, alles wie normal zu sehen. Sie können alle aktuellen Serversitzungen verlassen.
Abschluss
Nachdem Sie ein SSH-Keey-Basis-Authentifizierungssystem vorhanden haben, benötigen Sie das schutzbedürftige Authentifizierungssystem nicht mehr. Ich hoffe, Sie haben dieses Tutorial hilfreich gefunden.