GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So generieren und richten Sie SSH-Schlüssel unter Debian 10 ein

Einführung

SSH steht für Secure Shell und dient als Methode zum Herstellen von Remote-Verbindungen zwischen Computern. SSH wird normalerweise verwendet, um sich bei einem Remote-Server anzumelden und ihn zu verwalten.

Diese Anleitung hilft Ihnen, ein SSH-Schlüsselpaar unter Debian 10 Linux zu generieren.

Voraussetzungen

  • Ein System, auf dem Debian 10 Linux ausgeführt wird
  • SSH ist sowohl auf dem Client als auch auf dem Remote-System konfiguriert. (Erfahren Sie, wie Sie SSH unter Debian aktivieren.)
  • Zugriff auf ein Terminalfenster / eine Befehlszeile (Aktivitäten> Suche> Terminal )
  • Ein Benutzerkonto mit sudo oder root Privilegien für das lokale System
  • Ein Benutzerkonto und Hostname für den Remote-Server

Schritt 1:Auf vorhandene Schlüssel prüfen

Wenn sich das System bereits über SSH mit dem Remote-Server verbunden hat, verfügt es möglicherweise bereits über SSH-Schlüssel. Suchen Sie nach bereits vorhandenen Schlüsseln, indem Sie den folgenden Befehl in ein Terminalfenster eingeben:

ls -l ~/.ssh/id*

Wenn das System antwortet, dass es keine solche Datei oder kein solches Verzeichnis gibt, hat das System keine SSH-Schlüssel.

Wenn das System eine Datei auflistet, hat sie ein SSH-Schlüsselpaar. Um dieses Schlüsselpaar weiterhin zu verwenden, fahren Sie mit Schritt 3 fort . Alternativ können Sie dieses Schlüsselpaar sichern und dann mit der Generierung eines neuen SSH-Schlüsselpaars fortfahren.

Schritt 2:Erstellen Sie ein SSH-Schlüsselpaar

Dieser Schritt erstellt einen öffentlichen und einen privaten SSH-Schlüssel.

1. Geben Sie im Terminal folgenden Befehl ein:

ssh-keygen

2. Standardmäßig wird dadurch eine 2048-Bit-RSA erstellt Schlüsselpaar. Für zusätzliche Sicherheit ein 4096-Bit-RSA Schlüsselpaar kann mit -b 4096 hinzugefügt werden Option wie folgt:

ssh-keygen -b 4096

Das System verarbeitet die Anforderung und fragt dann nach dem Speicherort für das Schlüsselpaar. Standardmäßig wird ~/.ssh/id_rsa verwendet . Das ist die /.ssh Verzeichnis im Home-Verzeichnis.

3. Drücken Sie Eingabe diesen Standort zu akzeptieren, es sei denn, es muss ein anderer Standort verwendet werden.

4. Wenn auf diesem System bereits ein Schlüssel vorhanden ist, werden Sie nun aufgefordert, den alten Schlüssel zu überschreiben. Drücken Sie y um fortzufahren.

5. Als nächstes fordert Sie das System auf, eine Passphrase einzugeben und zu bestätigen. Dies ist eine zusätzliche Ebene der SSH-Sicherheit, die Benutzer dazu zwingt, die Passphrase einzugeben, wenn sie sich über SSH verbinden. Legen Sie eine Passphrase fest und bestätigen Sie sie, oder lassen Sie das Feld leer, um diesen Schritt zu überspringen.

6. Schließlich zeigt das System die Identifikation und den Ort des öffentlichen Schlüssels, den Fingerabdruck des Schlüssels und das Zufallsbild des Schlüssels an.

Schritt 3:Kopieren Sie den öffentlichen Schlüssel auf den Remote-Server

Kopieren Sie den öffentlichen Schlüssel auf den Remote-Server, um die SSH-Schlüssel korrekt zu koppeln:

1. Die einfachste Methode ist die Eingabe des folgenden Befehls:

ssh-copy-id [email protected]

Ersetzen Sie Benutzer mit dem tatsächlichen Benutzernamen für das entfernte System. Ersetzen Sie außerdem hostname mit dem tatsächlichen Hostnamen des entfernten Computers. Anstelle des Hostnamens kann auch die IP-Adresse des entfernten Systems verwendet werden.

2. Das System versucht nun, sich mit dem von Ihnen angegebenen Benutzernamen mit dem Remote-System zu verbinden. Bei der ersten Verbindung kann das System antworten, dass die Authentizität des Hosts nicht festgestellt werden kann. Geben Sie yes ein und drücken Sie Enter .

3. Das System durchsucht das lokale System nach id_rsa.pub Schlüssel, der in Schritt 2 generiert wurde . Dann wird es nach dem Passwort für das Benutzerkonto auf dem Remote-System fragen. Geben Sie das Passwort ein und drücken Sie Enter .

4. Das System sollte die Anzahl der hinzugefügten Schlüssel anzeigen:1 . Anschließend werden Anweisungen zum Anmelden beim Remote-System angezeigt. Sie können den Befehl so eingeben, wie er auf Ihrem Bildschirm angezeigt wird.

Schritt 3.1:Manuelles Kopieren des öffentlichen SSH-Schlüssels auf den Remote-Server

Wenn es nicht möglich ist, den SSH-Schlüssel automatisch zu kopieren, kann der Schlüssel manuell kopiert werden.

1. Zeigen Sie zuerst den SSH-Schlüssel mit dem folgenden Befehl an:

cat ~/.ssh/id_rsa.pub

Das System sollte den soeben erstellten öffentlichen SSH-Schlüssel anzeigen. Es sollte beginnen mit:

ssh-rsa AAAA

2. Notieren Sie sich diese Zeichenkette.

3. Greifen Sie als Nächstes auf den Remote-Server zu. Öffnen Sie ein Terminal und erstellen Sie ein neues SSH-Verzeichnis, indem Sie Folgendes eingeben:

sudo mkdir -p ~/.ssh

5. Fügen Sie als Nächstes den öffentlichen Schlüssel zur Datei „authorized_keys“ hinzu, indem Sie Folgendes eingeben:

sudo echo ssh_public_key >> ~/.ssh/authorized_keys

Ersetzen Sie ssh_public_key mit dem tatsächlichen öffentlichen Schlüssel, der vom cat-Befehl angezeigt wird.

6. Legen Sie die richtigen Berechtigungen für das neue Verzeichnis fest:

sudo chmod -R go= ~/.ssh

7. Wenn Sie das root-Debian-Benutzerkonto auf dem Server verwenden, muss der Verzeichnisbesitzer auf das Benutzerkonto eingestellt werden, das sich remote beim Server anmeldet:

sudo chown -R user:user ~/.ssh

Schritt 4:Per SSH aus der Ferne anmelden

1. Öffnen Sie auf dem Clientsystem ein Terminalfenster und geben Sie Folgendes ein:

ssh [email protected]

2. Das System zeigt möglicherweise an, dass die Authentizität des Hosts nicht festgestellt werden kann. Geben Sie yes ein und drücken Sie Enter .

3. Wenn Sie in Schritt 2 eine Passphrase festgelegt haben , geben Sie es ein, wenn Sie dazu aufgefordert werden.

Sie sollten jetzt eine SSH-Verbindung zum Remote-Server haben.

Schritt 5:Passwortauthentifizierung deaktivieren (optional)

Das Deaktivieren der Kennwortauthentifizierung ist eine Sicherheitsvorkehrung. Es verhindert Brute-Force-Angriffe gegen Versuche, sich beim Server anzumelden.

Bevor Sie fortfahren, überprüfen Sie Folgendes:

  • Sie können sich ohne Passwort beim Server anmelden (z. B. über eine SSH-Verbindung mit einem Schlüsselpaar, wie in diesem Artikel beschrieben).
  • Sie melden sich mit einem sudo-Benutzerkonto beim Server an.

1. Melden Sie sich zunächst beim Remote-Server an:

ssh [email protected]

Dieser Benutzername sollte sudo enthalten Privilegien.

2. Bearbeiten Sie als Nächstes die sshd_config Datei in einem Texteditor Ihrer Wahl (wir verwenden nano):

sudo nano /etc/ssh/sshd_config

3. Suchen und ändern Sie die folgenden Zeilen so, dass sie wie folgt aussehen:

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

4. Schreiben Sie die Änderungen und verlassen Sie dann den Editor. Starten Sie den SSH-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart ssh

Das System erlaubt jetzt keine Passwortauthentifizierung mehr für Anmeldungen.


Debian
  1. So richten Sie SSH-Schlüssel ein

  2. Konfigurieren Sie SSH-Schlüssel auf einem Debian 9-System – wie geht das?

  3. So richten Sie SSH-Schlüssel unter Ubuntu 16.04 ein

  4. So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein

  5. So richten Sie SSH-Schlüssel unter Debian ein

So richten Sie SSH-Schlüssel unter Debian 10 ein

So richten Sie die passwortlose SSH-Authentifizierung unter Linux ein

So generieren Sie einen SSH-Schlüssel in CentOS 8

So richten Sie SSH-Schlüssel unter Debian 11 Linux ein

So richten Sie WireGuard VPN unter Debian 11 ein

Wie generiert und verwendet man einen SSH-Schlüssel in einem Linux-System?