SSH ist eine großartige Technologie. Sie können es verwenden, um sich zu versteckenVPN-Verkehr mit ihm, sichern Sie die Verbindung zu Websites und vieles mehr. Das einzige Problem ist, dass Sie jedes Mal, wenn Sie versuchen, sich bei einem Remote-Computer anzumelden, Ihr Kennwort eingeben müssen. Dies kann mühsam sein. Wenn Sie als Entwickler mit einem Bash-Skript über SSH eine Verbindung zu vielen Computern auf einmal herstellen möchten oder nur eine Person, die Secure Shell verwendet und keine Lust mehr hat, Kennwörter einzugeben, gibt es eine Lösung: kennwortloses SSH. Bei diesem Vorgang wird ein sicherer SSH-Schlüssel auf dem Host-Computer erstellt und freigegeben, um auf den PC zuzugreifen. Auf diese Weise kann sich jeder mit dem Schlüssel anmelden, auch wenn er das Passwort nicht kennt. Hier erfahren Sie, wie Sie es in Gang bringen.
Was sind SSH-Schlüssel?
Ein SSH-Schlüssel ist eine eindeutige Identifikationsdatei, diewird mit Secure Shell verwendet. Der Zweck dieser Schlüssel besteht darin, dem Benutzer eine eindeutige Identität zuzuweisen und ihn beim Anmelden als "vertrauenswürdig" zu kennzeichnen. Diese Schlüssel selbst sind mehr als Dateien, die die Identität eines Menschen belegen. Tatsächlich können sich Benutzer mit SSH mit einem Schlüssel und nicht mit einem Kennwort anmelden. Das heißt, Sie müssen nicht jedes Mal, wenn Sie sich über SSH anmelden, ein Kennwort eingeben, sondern verwenden den SSH-Schlüssel.
Der SSH-Schlüssel befindet sich an einem sicheren Ort in Ihrer Linux-Installation. Von dort aus können Sie sich ohne Kennwort beliebig oft auf dem Remotecomputer anmelden.
Generieren sicherer SSH-Schlüssel
Dazu muss zunächst ein sicherer SSH-Schlüssel erstellt werdenSSH ist in Betrieb. Verstehen Sie, dass dies nicht unbedingt bedeutet, dass Sie einen SSH-Server benötigen. Nur, dass die grundlegenden SSH-Tools und -Technologien auf Ihrem Linux-PC ausgeführt werden. Sie sind sich nicht sicher, wie Sie SSH einrichten sollen? Folgen Sie unserem Führer hier.
Generieren Sie immer die SSH-Schlüssel auf dem System, auf dem sich der SSH-Server befindet. Versuchen Sie nicht, sie auf dem Server zu generieren, der keine SSH-Sitzung hostet, und kopieren Sie sie auf den SSH-Host-Computer. Es wird nicht funktionieren.
Öffnen Sie ein Terminal, um die Schlüsselerstellung zu starten. Führen Sie im Terminalfenster Folgendes aus:
ssh-keygen -t rsa
Laufen ssh-keygen wird „Generating public / private rsa keyPaar". Dies bedeutet, dass das System sowohl einen öffentlichen als auch einen privaten Schlüssel für Sie generiert. Öffentliche Schlüssel können von jedermann verwendet werden. Ein privater Schlüssel ist etwas, das Sie niemals mit jemandem teilen sollten. Daher der Name "privat".

Die Tasten speichern sich auf /home / benutzername / .ssh / id_rsa.
Hinweis: NICHT LÖSCHEN das ~ / .ssh Ordner, wie es Ihre Schlüssel enthält. Wenn Sie diesen Ordner in irgendeiner Weise manipulieren und dann versuchen, sich remote bei diesem Computer anzumelden, schlägt die SSH-Eingabeaufforderung fehl. Es wird auch eine Warnung gedruckt und Sie gesperrt.
SSH-Schlüssel auf Remote-Computer
Nun, da die SSH - Schlüssel (sowohl öffentlich als auch privat)erstellt und einsatzbereit sind, müssen Sie sie auf das System kopieren, von dem aus Sie sich anmelden möchten. Es ist wichtig, dass Sie diesen Vorgang auf allen Computern wiederholen, auf denen Sie sich über SSH anmelden möchten. Anderenfalls müssen sich Benutzer ohne Schlüssel mit der Kennwortmethode anmelden.
Befolgen Sie dieses Beispiel, um die Schlüssel zum fernen System hinzuzufügen. Stellen Sie sicher, dass Sie dies vom Host-Computer über SSH tun.
ssh username@remote-host-name mkdir -p .ssh
Wenn Sie diesen Befehl ausführen, wird ein ausgeblendeter Befehl erstellt ~ / .ssh Ordner im Home-Verzeichnis des Remote-Computers (mit dem Benutzer, der zum Anmelden verwendet wurde). Dieser Ordner ist wichtig, da hier die neu generierten SSH-Schlüsseldateien kopiert werden.
Führen Sie zum Kopieren der SSH-Schlüsseldateien einen weiteren Befehl vom SSH-Host-Computer auf den Remote-Computer aus, der die Schlüssel benötigt:
cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"
Das Kopieren dauert je nach Netzwerkgeschwindigkeit einige Sekunden. Nach Abschluss des Vorgangs verfügt der Remote-PC über die generierten Schlüssel und kann sich ohne Kennwort beim SSH-Host-PC anmelden.
Sichern von SSH-Schlüsseln
SSH-Schlüssel sind nützliche Dinge, und jeder ist eseinzigartig. Aus diesem Grund ist das Sichern der Daten die beste Vorgehensweise. Das Problem ist, wenn Sie es an einem anderen Ort speichern, wird Ihr SSH-Schlüssel möglicherweise von jemandem gefunden. Bewahren Sie ihn auf und verwenden Sie ihn für sich. Die Frage ist also, wie Sie einen SSH-Schlüssel sicher sichern können. Verschlüsselung.
Der schnellste, effizienteste (und einfachste) Weg zuVerschlüsseln ist GnuPG. Das Tool selbst ist in den meisten Verschlüsselungstools bereits unter Linux integriert und ist die Anlaufstelle, wenn das Verschlüsseln von Dateien gestartet wird. Um GnuPG zu installieren, öffnen Sie ein Terminal und durchsuchen Sie Ihren Paketmanager nach "gpg". Das Programm sollte leicht zu finden sein, auch auf sehr undurchsichtigen Linux-Distributionen.

Sobald GPG läuft, starten Sie den Verschlüsselungsprozess durch Komprimieren von ~ / .ssh Verzeichnis in die tar-Archivdatei. Auf diese Weise müssen Sie nicht jede einzelne Datei in der Datei einzeln verschlüsseln ~ / .ssh Mappe.
tar -czvf ssh-stuff.tar.gz /home/username/.ssh
Wenn die Komprimierung abgeschlossen ist, starten Sie den Verschlüsselungsprozess.

Hinweis: Vor dem Verschlüsseln ausführen gpg im Terminal, um einen neuen Schlüsselbund zu generieren.
gpg -c ssh-stuff.tar.gz
Wenn der Verschlüsselungsprozess abgeschlossen ist, gibt GnuPG eine Datei mit der Bezeichnung „ssh-stuff.tar.gz.gpg“. Sie können die ursprüngliche, nicht gesperrte Version der Datei jederzeit löschen. Gehen Sie wie folgt vor, um Ihr Sicherungsarchiv zu entschlüsseln:
gpg ssh-stuff.tar.gz.gpg</ p>
Bemerkungen