SSH, auch bekannt als „Secure Shell“, ist ein Open-Source-Protokoll, das verwendet wird, um sich bei einem Remote-Linux-Server anzumelden. Es wird von System- und Netzwerkadministratoren verwendet, um Linux-Server von einem entfernten Standort aus zu verwalten. Es wird auch verwendet, um Dateien zwischen mehreren Linux-Systemen zu übertragen. Es gibt zwei Möglichkeiten, sich bei einem Remote-Linux-System anzumelden:mit Kennwortauthentifizierung und schlüsselbasierter Authentifizierung. Die schlüsselbasierte Authentifizierung ist sicherer als Kennwörter, da sich nur ein Benutzer mit gültigen Schlüsseln bei Linux anmelden kann.
In diesem Beitrag zeigen wir Ihnen, wie Sie passwortloses SSH unter Linux einrichten.
Voraussetzungen
- Ein Linux-Server auf der Atlantic.Net Cloud-Plattform
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu, CentOS oder Rocky Linux als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Oder
dnf update -y
Schritt 2 – Generieren Sie einen SSH-Schlüssel
Zunächst müssen Sie auf dem Computer, auf dem Sie arbeiten, ein SSH-Schlüsselpaar generieren.
Sie können es mit dem folgenden Befehl generieren:
ssh-keygen -t rsa
Sie werden aufgefordert, den Ort anzugeben, an dem der Schlüssel gespeichert werden soll, wie unten gezeigt:
Enter file in which to save the key (/home/vyom/.ssh/id_rsa):
Drücken Sie einfach die Eingabetaste und akzeptieren Sie den Standardpfad. Sie werden aufgefordert, eine Passphrase festzulegen, wie unten gezeigt:
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Drücken Sie einfach die Eingabetaste, ohne eine Passphrase anzugeben. Sie sollten die folgende Ausgabe sehen:
Your identification has been saved in /home/vyom/.ssh/id_rsa. Your public key has been saved in /home/vyom/.ssh/id_rsa.pub. The key fingerprint is: ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 [email protected] The key's randomart image is: +--[ RSA 2048]----+ | . oBo. | | o .+oB | | o +o = | | o = .o | | . = S | | . . + | | . o . | | o | | E | +-----------------+
Überprüfen Sie nun Ihren SSH-Schlüssel mit dem folgenden Befehl:
ls -la ~/.ssh/id_*.pub
Sie sollten die folgende Ausgabe sehen:
-rw-r--r-- 1 vyom vyom 392 Sep 8 14:34 /home/vyom/.ssh/id_rsa.pub
Schritt 3 – Kopieren Sie den öffentlichen SSH-Schlüssel auf den Remote-Server
Jetzt müssen Sie Ihren öffentlichen Schlüssel auf den Remote-Server kopieren. Sie können dies mit dem Befehl ssh-copy-id tun:
ssh-copy-id [email protected]
Sie werden aufgefordert, ein Root-Passwort eines Remote-Servers anzugeben, um einen öffentlichen Schlüssel zu kopieren:
[email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Schritt 4 – Remote-Server ohne Passwort verbinden
An diesem Punkt wird der SSH-Schlüssel generiert und auf den Remote-Server kopiert. Sie können sich jetzt mit dem Remote-Server verbinden, ohne ein Passwort anzugeben:
ssh [email protected]
Sobald Sie verbunden sind, sollten Sie die folgende Ausgabe sehen:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Wed Sep 8 07:50:27 2021 from 106.222.86.57 [email protected]:~#
Schritt 5 – Passwortbasierte Authentifizierung entfernen
An diesem Punkt ist die schlüsselbasierte SSH-Authentifizierung erfolgreich konfiguriert. Jetzt wird empfohlen, die Verwendung der Passwortauthentifizierung zu deaktivieren, damit jeder nur Schlüssel für den Zugriff auf den Server verwendet.
Bearbeiten Sie auf dem Remote-Linux-Server die SSH-Hauptkonfigurationsdatei:
nano /etc/ssh/sshd_config
Entkommentieren und ändern Sie die folgende Zeile:
PasswordAuthentication no
Speichern und schließen Sie die Datei und starten Sie dann den SSH-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart ssh
Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie Sie die passwortlose SSH-Authentifizierung unter Linux einrichten. Sie können jetzt die schlüsselbasierte SSH-Authentifizierung für jeden Server implementieren, den Sie remote verwalten möchten. Probieren Sie es noch heute auf dem VPS-Hosting von Atlantic.Net aus.