GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie SSH-Schlüssel unter CentOS 8 ein

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für eine sichere Verbindung zwischen einem Client und einem Server entwickelt wurde.

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

Dieser Artikel beschreibt, wie Sie SSH-Schlüssel auf CentOS 8-Systemen generieren. Wir zeigen Ihnen auch, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und sich mit entfernten Linux-Servern verbinden, ohne ein Passwort einzugeben.

Erstellen von SSH-Schlüsseln auf CentOS #

Wahrscheinlich haben Sie bereits ein SSH-Schlüsselpaar auf Ihrem CentOS-Client-Rechner. Wenn Sie ein neues Schlüsselpaar generieren, wird das alte überschrieben.

Führen Sie das folgende ls aus Befehl, um zu prüfen, ob die Schlüsseldateien existieren:

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

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

Andernfalls, wenn Sie ein SSH-Schlüsselpaar haben, können Sie entweder diese verwenden oder die alten Schlüssel sichern und neue generieren.

Um ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar zu generieren, führen Sie Folgendes aus:

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

Sie werden aufgefordert, den Dateinamen anzugeben:

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. Eine Passphrase fügt eine zusätzliche Sicherheitsebene hinzu. Wenn Sie keine Passphrase verwenden möchten, drücken Sie einfach Enter .

Enter passphrase (empty for no passphrase):

Die gesamte Interaktion sieht folgendermaßen aus:

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

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Das ist es. Sie haben erfolgreich ein SSH-Schlüsselpaar auf Ihrem CentOS-Client-Rechner generiert.

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

Nachdem das SSH-Schlüsselpaar generiert wurde, 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 Nützlichkeit. Geben Sie auf Ihrem lokalen Rechnerterminal Folgendes ein:

ssh-copy-id remote_username@server_ip_address

Der Befehl fordert Sie auf, den remote_username einzugeben Passwort:

remote_username@server_ip_address's password:

Sobald der Benutzer authentifiziert ist, wird der Inhalt der öffentlichen Schlüsseldatei (~/.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.

Wenn ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, verwenden Sie den folgenden Befehl, um den öffentlichen Schlüssel zu 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 # bei Ihrem Server an

Nachdem Sie die obigen Schritte ausgeführt haben, sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Passworts aufgefordert zu werden.

Um dies zu überprüfen, versuchen Sie, sich über SSH bei Ihrem Server anzumelden:

ssh remote_username@server_ip_address

Wenn Sie keine Passphrase für den privaten Schlüssel festgelegt haben, werden Sie sofort angemeldet. Andernfalls werden Sie aufgefordert, die Passphrase einzugeben.

SSH-Passwortauthentifizierung deaktivieren #

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

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie sich als Benutzer mit sudo-Berechtigungen ohne Passwort bei Ihrem Server anmelden können.

Führen Sie die folgenden Schritte aus, um die SSH-Passwortauthentifizierung zu deaktivieren:

  1. Melden Sie sich bei Ihrem Remote-Server an:

    ssh sudo_user@server_ip_address
  2. Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config mit Ihrem Texteditor:

    sudo nano /etc/ssh/sshd_config
  3. Suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. Wenn Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst neu, indem Sie Folgendes eingeben:

    sudo systemctl restart ssh

Zu diesem Zeitpunkt ist die passwortbasierte Authentifizierung deaktiviert.


Cent OS
  1. So richten Sie SSH-Schlüssel ein

  2. SSH-Schlüssel auf CentOS 7 einrichten - Schritt-für-Schritt-Prozess?

  3. So richten Sie SSH-Schlüssel unter CentOS 8 ein

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

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

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

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

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

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

So richten Sie SSH unter CentOS und RHEL ein

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