Wir zeigen Ihnen, wie Sie SSH-Schlüssel unter Ubuntu 16.04 einrichten. SSH oder Secure SHELL ist das beliebteste und vertrauenswürdigste UNIX-basierte kryptografische Netzwerkprotokoll. Es kann für eine sichere Datenkommunikation, entfernte Serveranmeldungen, entfernte Befehlsausführung und viele andere sichere Netzwerkdienste zwischen zwei vernetzten Servern verwendet werden. Normalerweise wird die Passwortauthentifizierung verwendet, um sich über SSH mit einem Remote-Server zu verbinden, aber in diesem Tutorial zeigen wir Ihnen, wie Sie sich mit SSH-Schlüsseln bei Ihrem Ubuntu 16.04 VPS anmelden. Wir generieren ein Schlüsselpaar (privater und öffentlicher Schlüssel), platzieren den privaten Schlüssel auf Ihrem Server und verwenden dann Ihren lokal gespeicherten privaten Schlüssel, um Zugriff auf Ihren Server zu erhalten. Diese Methode bietet eine sicherere Möglichkeit, eine Verbindung zu Ihrem Server herzustellen, anstatt nur ein Passwort zu verwenden.
Im Laufe dieses Tutorials erklären wir auch, wie Sie ein SSH-Schlüsselpaar sowohl unter Linux als auch unter einem Windows-Betriebssystem generieren.
1. Generieren von SSH-Schlüsseln unter Ubuntu 16.04
Um das SSH-Schlüsselpaar zu generieren, führen Sie einfach den folgenden Befehl vom Terminal auf Ihrem lokalen Ubuntu 16.04-basierten Computer aus:
ssh-keygen
Sie können einfach die Eingabetaste drücken, um die Standardwerte für alle Fragen zu belassen. Optional können Sie auch eine Passphrase festlegen, um eine zusätzliche Sicherheitsebene hinzuzufügen, oder einfach erneut die Eingabetaste drücken, wenn Sie dies nicht möchten.
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:2QB/eJ39/4N7Q3PRSghNJmglX6hh2pSqQ3uGHhfd7Og root@rosehosting The key's randomart image is: +---[RSA 2048]----+ | . .+o++ | | oB+o=.o | | O+=+.o.. .| | . + +*o . .o.| | . + .So. . .o| | * + . . .oo| | . * . o +| | . E . +.| | .o +| +----[SHA256]-----+
Dadurch wird ein privater und öffentlicher 2048-Bit-Schlüssel (id_rsa und id_rsa.pub) im Verzeichnis /root/.ssh/ auf Ihrem lokalen System erstellt.
Laden Sie den öffentlichen Schlüssel mit ssh-copy-id auf den Ubuntu 16.04-Server hoch
Im nächsten Schritt müssen Sie den generierten öffentlichen Schlüssel auf Ihren entfernten Ubuntu-Server hochladen. Dafür gibt es mehr als eine Methode.
Der einfachste Weg ist die Verwendung der ssh-copy-id Dienstprogramm. Damit dies funktioniert, sollten Sie sich über SSH mit Passwortauthentifizierung mit Ihrem Server verbinden können.
Sie können dann den folgenden Befehl verwenden, um den öffentlichen Schlüssel auf Ihren Remote-Server hochzuladen:
ssh-copy-id root@remote_server
Sie werden aufgefordert, Ihr Benutzerpasswort einzugeben (in unserem Beispiel wäre das das Root-Passwort) und die Eingabetaste zu drücken. Nachdem die Verbindung hergestellt wurde, wird der Inhalt der id_rsa.pub (der öffentliche Schlüssel) in die Datei /root/ssh/authorized_keys auf dem Remote-Server kopiert.
Die folgende Ausgabe sollte angezeigt werden:
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@remote-host'" and check to make sure that only the key(s) you wanted were added.
Von nun an sollten Sie sich mit Ihren SSH-Schlüsseln bei Ihrem Ubuntu-Server authentifizieren können.
Laden Sie den öffentlichen Schlüssel manuell auf den Ubuntu-Server hoch
Wenn die ssh-copy-id Tool auf Ihrem System nicht verfügbar ist, können Sie sich bei Ihrem Server anmelden und dies manuell tun.
Verbinden Sie sich zunächst per SSH mit Ihrem Server mit:
ssh root@remote_server
Sobald die Verbindung hergestellt ist, müssen Sie mit dem folgenden Befehl ein neues .ssh-Verzeichnis auf dem Remote-Server erstellen:
mkdir /root/.ssh
Als Nächstes müssen Sie den öffentlichen Schlüssel in die Datei „authorized_keys“ auf dem Remote-Server kopieren. Sie können den Inhalt des öffentlichen Schlüssels mit dem Nano-Texteditor erstellen und hinzufügen:
nano /root/.ssh/authorized_keys
Sie müssen auch die SSH-Konfigurationsdatei öffnen:
nano /etc/ssh/sshd_config
und stellen Sie sicher, dass die folgenden Zeilen vorhanden und nicht kommentiert sind:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
Speichern Sie die Änderungen und starten Sie den SSH-Dienst neu:
systemctl restart ssh
Das ist es. Von nun an verwenden Sie die SSH-Schlüssel jedes Mal, wenn Sie versuchen, eine Verbindung zu Ihrem Remote-Server herzustellen.
2. Generieren von SSH-Schlüsseln auf Windows-basierten Systemen mit PuTTY und PuTTYGen
Wenn Sie das Windows-Betriebssystem auf Ihrem lokalen Computer verwenden, benötigen Sie PuTTY, um sich über SSH mit Ihrem Server zu verbinden, und PuTTYgen, um Ihre SSH-Schlüssel zu generieren. Sie können sie hier herunterladen (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).
Um die SSH-Schlüssel zu generieren, fahren Sie fort und starten Sie PuTTYGen auf Ihrem Computer.
Unten können Sie die Anzahl der Bits für Ihren generierten Schlüssel auswählen. Geben Sie 4096 ein und klicken Sie dann auf Generieren. Bewegen Sie Ihre Maus über den leeren Bereich auf dem PuTTYgen-Bildschirm, um einen eindeutigen Schlüssel basierend auf Ihrer Mausbewegungseingabe zu generieren.
Wenn sich der grüne Fortschrittsbalken füllt, wird der öffentliche Schlüssel generiert. Sie können den Schlüssel kopieren und in einer TXT-Datei auf Ihrem Computer speichern.
Um den privaten Schlüssel zu speichern, müssen Sie auf die Schaltfläche Private Schlüssel speichern klicken. Zusätzlich können Sie auch eine Schlüssel-Passphrase für Ihren privaten Schlüssel festlegen.
Jetzt können Sie PuTTY öffnen und um den Speicherort Ihres privaten Schlüssels zuzuweisen, klicken Sie im Menü Verbindung auf SSH und dann auf Auth. Klicken Sie auf die Schaltfläche „Durchsuchen“ und geben Sie den Speicherort Ihrer gespeicherten privaten Schlüsseldatei ein.
Als nächstes müssen wir den öffentlichen Schlüssel auf Ihren Server hochladen. Klicken Sie dazu auf Sitzung, geben Sie Ihre IP-Adresse und die SSH-Portnummer Ihres Servers ein, wählen Sie SSH als Verbindungstyp und klicken Sie auf Öffnen.
Sie werden nach Ihrem Benutzernamen und Passwort gefragt. Sie können sich mit Ihrem Root-Passwort als Benutzer root anmelden.
Nachdem Sie sich bei Ihrem Server angemeldet haben, erstellen Sie zunächst das .ssh-Verzeichnis:
mkdir /root/.ssh
Erstellen Sie dann die Datei „authorized_keys“ im Verzeichnis „.ssh“ und fügen Sie den Inhalt Ihres öffentlichen Schlüssels in diese Datei ein:
nano /root/.ssh/authorized_keys
Sie können die SSH-Konfigurationsdatei auf Ihrem Server auch öffnen mit:
nano /etc/ssh/sshd_config
und stellen Sie sicher, dass die folgenden Zeilen vorhanden und nicht kommentiert sind:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
Wenn Änderungen vorgenommen wurden, vergessen Sie nicht, den sshd-Dienst neu zu starten mit:
systemctl restart ssh
Damit wurden die SSH-Schlüssel erfolgreich konfiguriert. Sie können sich jetzt von Ihrem Server trennen und PuTTY beenden. Wenn Sie das nächste Mal versuchen, eine Verbindung zu Ihrem Server herzustellen, verwendet PuTTY den öffentlichen Schlüssel, den Sie eingerichtet haben, um die Verbindung herzustellen.
3. Kennwortauthentifizierung deaktivieren
Nachdem Sie die SSH-Schlüssel mit einer der oben genannten Methoden erfolgreich konfiguriert und sichergestellt haben, dass Sie sich mit der SSH-Schlüssel-basierten Authentifizierung bei Ihrem Server anmelden können, können Sie die passwortbasierte Authentifizierung bei Ihrem Server deaktivieren. Dies fügt eine zusätzliche Sicherheitsebene hinzu und verhindert alle Brute-Force-Angriffe auf Ihren Server.
Um die passwortbasierte Authentifizierung zu deaktivieren, öffnen Sie die SSH-Konfigurationsdatei mit:
nano /etc/ssh/sshd_config
Kommentieren Sie die folgende Zeile aus und setzen Sie ihren Wert auf „no“:
PasswordAuthentication no
Starten Sie den sshd-Dienst neu mit:
systemctl restart ssh That’s it. You have successfully set up SSH keys on your Ubuntu 16.04 VPS.
Natürlich müssen Sie den SSH-Schlüssel nicht auf Ihrem Ubuntu 16.04 VPS einrichten, wenn Sie einen unserer Ubuntu-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, die SSH-Schlüssel für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.