In diesem Tutorial zeigen wir Ihnen, wie Sie SSH-Schlüssel unter CentOS 8 einrichten. Für diejenigen unter Ihnen, die es nicht wussten, Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für entwickelt wurde eine sichere Verbindung zwischen einem Client und einem Server. Im Allgemeinen gibt es zwei Möglichkeiten für Clients, auf ihre Server zuzugreifen – über eine passwortbasierte Authentifizierung oder eine auf öffentlichen Schlüsseln basierende Authentifizierung. Die Verwendung von SSH-Schlüsseln für die Authentifizierung wird als sicherere Alternative zu Passwörtern dringend empfohlen .
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation und Einrichtung von SSH-Schlüsseln auf dem CentOS 8-Server.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:CentOS 8.
- Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach das Terminal, wenn Sie sich auf einem Desktop befinden).
- Ein
non-root sudo user
oder Zugriff auf denroot user
. Wir empfehlen, alsnon-root sudo user
zu agieren , Sie können jedoch Ihr System beschädigen, wenn Sie als Root nicht aufpassen.
SSH-Schlüssel auf CentOS 8 einrichten
Schritt 1. Beginnen wir zunächst damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
sudo dnf update
Schritt 2. Erstellen von SSH-Schlüsseln unter CentOS 8.
Melden Sie sich zunächst beim Quellcomputer (lokaler Server) an und erstellen Sie mit dem folgenden Befehl ein 4096-Bit-RSA-Schlüsselpaar:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Nach Eingabe des Befehls sollten Sie die folgende Eingabeaufforderung sehen:
Enter file in which to save the key (/home/your-username/.ssh/id_rsa):
Um die Datei im vorgeschlagenen Verzeichnis zu speichern, drücken Sie die Eingabetaste. Alternativ können Sie einen anderen Speicherort angeben.
Als Nächstes wird die Eingabeaufforderung fortgesetzt mit:
Enter passphrase (empty for no passphrase):
Schließlich endet die Ausgabe mit der Angabe der folgenden Informationen:
Your identification has been saved in home/your_username/.ssh/id_rsa. Your public key has been saved in home/your_username/.ssh/id_rsa.pub. The key fingerprint is: KYg355:gKmeiU5NQ-ramona5Ji57F8iO6c0K6GUr5:BMWRk username@hostname The key's randomart image is: +------[RSA 3072]-------+ | .oo. | | +o+. | | + +.+ | | o + S . | | . E . . =.o| | . + . B+@o| | + . oo*=O| | oo . .+o+| | o=ooo=| +------ [SHA256] ------+
Schritt 3. Kopieren Sie den öffentlichen Schlüssel auf den CentOS-Server.
Geben Sie zunächst den folgenden Befehl ein und geben Sie das SSH-Benutzerkonto und die IP-Adresse des Remote-Hosts an:
ssh-copy-id username@server_ip_address
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.
Schließlich teilt Ihnen die Ausgabe die Anzahl der hinzugefügten Schlüssel mit, zusammen mit klaren Anweisungen, was als nächstes zu tun ist:
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.
Schritt 4. Mit SSH-Schlüsseln eine Verbindung zum Remote-Server herstellen.
Nach Abschluss der obigen Schritte sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Passworts aufgefordert zu werden:
ssh remote_username@server_ip_address
Schritt 5. Kennwortauthentifizierung deaktivieren.
Obwohl Sie es geschafft haben, auf den CentOS-Server zuzugreifen, ohne ein Passwort angeben zu müssen, läuft auf dem Computer immer noch ein passwortbasiertes Authentifizierungssystem. Dies macht ihn zu einem Potenzial Ziel für Brute-Force-Angriffe. Führen Sie die folgenden Schritte aus, um die SSH-Passwortauthentifizierung zu deaktivieren:
ssh sudo_user@server_ip_address
Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Wenn Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst neu:
sudo systemctl restart ssh
Herzlichen Glückwunsch! Sie haben den SSH-Server erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zum Installieren und Konfigurieren von SSH-Schlüsseln auf CentOS 8-Systemen verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle SSH-Website zu überprüfen Webseite.