Android

So richten Sie ssh-Schlüssel unter Debian 9 ein

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

Inhaltsverzeichnis:

Anonim

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll, das für eine sichere Verbindung zwischen einem Client und einem Server verwendet wird und verschiedene Authentifizierungsmechanismen unterstützt.

Die beiden beliebtesten Mechanismen sind die kennwortbasierte und die auf öffentlichen Schlüsseln basierende Authentifizierung. Die Verwendung von SSH-Schlüsseln ist sicherer und bequemer als die herkömmliche Kennwortauthentifizierung.

In diesem Tutorial werden wir beschreiben, wie man SSH-Schlüssel auf Debian 9-Systemen erzeugt. Wir zeigen Ihnen auch, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren entfernten Linux-Servern herstellen, ohne ein Kennwort einzugeben.

Erstellen von SSH-Schlüsseln unter Debian

Bevor Sie zuerst ein neues SSH-Schlüsselpaar generieren, prüfen Sie, ob auf Ihrem Debian-Client-Rechner SSH-Schlüssel vorhanden sind. Sie können dies tun, indem Sie den folgenden ls-Befehl ausführen:

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

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

Wenn bereits Schlüssel vorhanden sind, können Sie diese entweder verwenden und den nächsten Schritt überspringen oder die alten Schlüssel sichern und neue generieren.

Erstellen Sie zunächst mit dem folgenden Befehl ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar:

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

Die Ausgabe sieht ungefähr so ​​aus:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Drücken Sie die Enter , um den Standardspeicherort und Dateinamen zu übernehmen.

Als Nächstes werden Sie aufgefordert, eine sichere Passphrase einzugeben. Ob Sie eine Passphrase verwenden möchten, liegt ganz bei Ihnen. Mit der Passphrase wird Ihrem Schlüssel eine zusätzliche Sicherheitsebene hinzugefügt.

Enter passphrase (empty for no passphrase):

Die gesamte Interaktion sieht folgendermaßen aus:

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

ls ~/.ssh/id_*

Die Ausgabe sollte ungefähr so ​​aussehen:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopieren Sie den öffentlichen Schlüssel auf den Server

Nachdem Sie Ihr SSH-Schlüsselpaar haben, besteht der nächste Schritt darin, den öffentlichen Schlüssel auf den Server zu kopieren, den Sie verwalten möchten.

Die einfachste und empfohlene Methode zum Kopieren des öffentlichen Schlüssels auf den Remote-Server ist die Verwendung des Tools ssh-copy-id .

Führen Sie auf Ihrem lokalen Computer-Terminal den folgenden Befehl aus:

ssh-copy-id remote_username@server_ip_address

Sie werden aufgefordert, das Kennwort für remote_username :

remote_username@server_ip_address's password:

Sobald der Benutzer authentifiziert ist, wird der öffentliche Schlüssel ~/.ssh/id_rsa.pub an die Datei ~/.ssh/authorized_keys ~/.ssh/id_rsa.pub angehängt 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 das Dienstprogramm ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, können Sie den öffentlichen Schlüssel mit dem folgenden Befehl 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 SSH-Schlüsseln beim Server an

Zu diesem Zeitpunkt sollten Sie sich auf dem Remote-Server anmelden können, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

Versuchen Sie zum Testen, eine Verbindung zum Server über SSH herzustellen:

ssh remote_username@server_ip_address

Deaktivieren der SSH-Kennwortauthentifizierung

Um Ihrem Server eine zusätzliche Sicherheitsebene hinzuzufügen, können Sie die Kennwortauthentifizierung für SSH deaktivieren.

Stellen Sie vor dem Deaktivieren der SSH-Kennwortauthentifizierung sicher, dass Sie sich ohne Kennwort bei Ihrem Server anmelden können und der Benutzer, mit dem Sie sich anmelden, über sudo-Berechtigungen verfügt.

Melden Sie sich bei Ihrem Remote-Server an:

ssh sudo_user@server_ip_address

Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

/ etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Wenn Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst mit dem folgenden Befehl neu:

sudo systemctl restart ssh

Zu diesem Zeitpunkt ist die kennwortbasierte Authentifizierung deaktiviert.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie ein neues SSH-Schlüsselpaar generieren und eine SSH-Schlüssel-basierte Authentifizierung einrichten. Sie können denselben Schlüssel mehreren Remoteservern hinzufügen.

Wir haben Ihnen auch gezeigt, wie Sie die SSH-Kennwortauthentifizierung deaktivieren und Ihrem Server eine zusätzliche Sicherheitsebene hinzufügen.

Standardmäßig überwacht SSH Port 22. Durch Ändern des Standard-SSH-Ports wird das Risiko automatisierter Angriffe verringert.

debian ssh security