Es gibt 2 Methoden für den Zugriff auf SSH, eine passwortbasiert und die andere schlüsselbasiert. Die auf SSH-Schlüsseln basierende Authentifizierung soll einen sicheren Weg bieten, um mit privatem und öffentlichem Schlüssel auf einen Server zuzugreifen.
In dieser Anleitung lernen Sie die folgenden Methoden kennen, um Ihren Debian-Rechner zu sichern.
- Neuen Benutzer mit sudo-Berechtigungen erstellen
- Kennwortbasierte Authentifizierung deaktivieren
- SSH-Schlüssel generieren
- SSH-Schlüssel für den Benutzer konfigurieren
- Passwortabfrage bei Verwendung von sudo deaktivieren
Schritt 1:Neuen Benutzer erstellen
Sie können dies überspringen, wenn Sie den Benutzer bereits erstellt haben.
Erstellen Sie mit dem folgenden Befehl einen neuen Benutzer mit deaktiviertem Passwort.
sudo adduser username --disabled-password
Folgen Sie den Anweisungen und bestätigen Sie mit Y
, wodurch der Benutzer mit dem Home-Verzeichnis des Benutzers in /home/username
erstellt wird .
Neuem Benutzer sudo-Zugriff gewähren
Fügen Sie den neuen Benutzer der sudo-Gruppe hinzu, damit der Benutzer über Administratorrechte zum Ausführen von Befehlen verfügt.
sudo usermod -aG sudo username
Jetzt haben Sie einen neuen Benutzer mit deaktivierten Sudo-Rechten und deaktiviertem Passwort.
Schritt 2:Passwortauthentifizierung für Benutzer deaktivieren
Bearbeiten Sie /etc/ssh/sshd_config
Datei zum Konfigurieren der Authentifizierung.
sudo nano /etc/ssh/sshd_config
Fügen Sie dem letzten Folgendes hinzu.
Match User username PasswordAuthentication no
Speichern Sie die Datei und starten Sie SSH neu.
sudo systemctl restart ssh
Jetzt kann sich der Benutzer nicht mit dem Passwort anmelden.
Schritt 3:SSH-Schlüssel generieren
Melden Sie sich als der Benutzer an, den Sie oben erstellt haben.
sudo su username
Neu erstellen .ssh
Verzeichnis, um die SSH-Schlüssel zu speichern und darin zu navigieren.
Verwenden Sie hier nicht sudo.
mkdir .ssh cd .ssh
SSH-Schlüssel erstellen.
ssh-keygen -m PEM -t rsa -b 4096 -C "your_email"
Hier habe ich früher PEM
verwendet Format zum Generieren von RSA-basierten Schlüsseln. Wenn der -m PEM
entfernt wird, wird möglicherweise ein OpenSSH-Schlüssel generiert.
Geben Sie bei Aufforderung den Namen für den Schlüssel ein.
Passphrase überspringen und Einrichtung abschließen.
Jetzt sollten Sie 2 Dateien in Ihrem .ssh-Verzeichnis haben.
filename.pub filename
Dateiname.pub ist Ihr öffentlicher Schlüssel und Dateiname ist Ihr privater Schlüssel.
Schritt 4:Konfigurieren Sie den SSH-Schlüssel für den SSH-Zugriff.
Um eine SSH-Verbindung zu ermöglichen, müssen Sie den öffentlichen Schlüssel zu authorized_keys
hinzufügen Datei.
cat filename.pub >> authorized_keys
Dieser Befehl erstellt eine Datei mit dem Namen authorized_keys
und fügen Sie den Inhalt des öffentlichen Schlüssels hinzu.
Kopieren Sie den Inhalt des privaten Schlüssels, damit können Sie sich beim Server authentifizieren.
cat filename
Dieser Befehl gibt den Inhalt Ihres privaten Schlüssels aus. Zur Authentifizierung speichern.
Schritt 5:Deaktivieren Sie die Passwortabfrage während der Verwendung von sudo
Wenn Sie sudo-basierte Befehle mit anderen Benutzern ausführen, fordert das System standardmäßig zur Eingabe des Kennworts für den Benutzer auf.
Da wir kein Passwort verwenden, müssen wir es deaktivieren.
Verlassen Sie die Benutzer-Shell und kehren Sie zu Ihrer Root-Shell zurück.
Führen Sie den Befehl aus, um visudo
einzugeben .
sudo visudo
Fügen Sie dem letzten Folgendes hinzu.
username ALL=(ALL) NOPASSWD: ALL
Speichern Sie die Datei und beenden Sie sie.
Das ist es. Jetzt haben Sie einen Benutzer, der sich nur mit SSH-Schlüsseln anmelden kann.