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

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

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für eine sichere Verbindung zwischen einem Client und einem Server verwendet wird und verschiedene Authentifizierungsmechanismen unterstützt.

Die beiden beliebtesten Mechanismen sind die passwortbasierte und die auf öffentlichen Schlüsseln basierende Authentifizierung. Die Verwendung von SSH-Schlüsseln ist sicherer und bequemer als die herkömmliche Passwortauthentifizierung.

In diesem Tutorial beschreiben wir, wie Sie SSH-Schlüssel auf Debian 9-Systemen generieren. Wir zeigen Ihnen auch, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren entfernten Linux-Servern herstellen, ohne ein Passwort einzugeben.

Erstellen von SSH-Schlüsseln auf Debian #

Bevor Sie zuerst ein neues SSH-Schlüsselpaar generieren, suchen Sie auf Ihrem Debian-Client-Rechner nach vorhandenen SSH-Schlüsseln. Sie können dies tun, indem Sie den folgenden ls-Befehl ausführen:

ls -l ~/.ssh/id_*.pub

Wenn die Ausgabe des obigen Befehls so etwas wie No such file or directory oder no matches found Das bedeutet, dass Sie keine SSH-Schlüssel haben und mit dem nächsten Schritt fortfahren und ein neues SSH-Schlüsselpaar generieren können.

Wenn vorhandene Schlüssel vorhanden sind, können Sie diese entweder verwenden und den nächsten Schritt überspringen oder die alten Schlüssel sichern und neue generieren.

Beginnen Sie damit, mit dem folgenden Befehl ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar zu generieren:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Die Ausgabe sieht etwa so aus:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Drücken Sie Enter um den standardmäßigen Speicherort und Dateinamen zu akzeptieren.

Als Nächstes werden Sie aufgefordert, eine sichere Passphrase einzugeben. Ob Sie eine Passphrase verwenden möchten, bleibt Ihnen überlassen. Mit einer Passphrase wird Ihrem Schlüssel eine zusätzliche Sicherheitsebene hinzugefügt.

Enter passphrase (empty for no passphrase):

Wenn Sie keine Passphrase verwenden möchten, drücken Sie einfach Enter .

Die gesamte Interaktion sieht folgendermaßen aus:

Geben Sie Folgendes ein, um zu überprüfen, ob das SSH-Schlüsselpaar generiert wurde:

ls ~/.ssh/id_*

Die Ausgabe sollte in etwa so aussehen:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopieren Sie den öffentlichen Schlüssel auf den Server #

Nachdem Sie nun Ihr SSH-Schlüsselpaar haben, besteht der nächste Schritt darin, den öffentlichen Schlüssel auf den Server zu kopieren, den Sie verwalten möchten.

Der einfachste und empfohlene Weg, den öffentlichen Schlüssel auf den Remote-Server zu kopieren, ist die Verwendung der ssh-copy-id Werkzeug.

Führen Sie auf Ihrem lokalen Rechnerterminal den folgenden Befehl aus:

ssh-copy-id remote_username@server_ip_address

Sie werden aufgefordert, den remote_username einzugeben Passwort:

remote_username@server_ip_address's password:

Sobald der Benutzer authentifiziert ist, wird der öffentliche Schlüssel ~/.ssh/id_rsa.pub wird an den entfernten Benutzer ~/.ssh/authorized_keys angehängt Datei, und die Verbindung wird geschlossen.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.
Code>

Wenn die ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, können Sie den öffentlichen Schlüssel mit dem folgenden Befehl kopieren:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Melden Sie sich mit den SSH-Schlüsseln # beim Server an

An diesem Punkt sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Passworts aufgefordert zu werden.

Versuchen Sie zum Testen, sich über SSH mit dem Server zu verbinden:

ssh remote_username@server_ip_address

Wenn Sie keine Passphrase festgelegt haben, werden Sie sofort angemeldet. Andernfalls werden Sie aufgefordert, die Passphrase einzugeben.

SSH-Passwortauthentifizierung deaktivieren #

Um Ihrem Server eine zusätzliche Sicherheitsebene hinzuzufügen, können Sie die Passwortauthentifizierung für SSH deaktivieren.

Stellen Sie vor dem Deaktivieren der SSH-Passwortauthentifizierung sicher, dass Sie sich ohne Passwort bei Ihrem Server anmelden können und dass der Benutzer, mit dem Sie sich anmelden, über sudo-Berechtigungen verfügt.

Melden Sie sich bei Ihrem Remote-Server an:

ssh sudo_user@server_ip_address

Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config :

sudo vim /etc/ssh/sshd_config

Suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Wenn Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst mit dem folgenden Befehl neu:

sudo systemctl restart ssh

Zu diesem Zeitpunkt ist die passwortbasierte Authentifizierung deaktiviert.


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

Wie richte ich SSH-Schlüssel ein – Windows-Betriebssystem?

So legen Sie eine statische IP unter Debian 11 fest

So richten Sie einen SSH-Schlüssel auf einem Plesk-Server ein

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

So richten Sie WireGuard VPN unter Debian 11 ein