1 Was ist SSHZitat aus der Baidu-Enzyklopädie: SSH ist die Abkürzung für Secure Shell, das von der Network Working Group der IETF entwickelt wurde. Es handelt sich um ein Sicherheitsprotokoll auf Anwendungsebene. SSH ist derzeit das zuverlässigste Protokoll zur Gewährleistung der Sicherheit von Remote-Anmeldesitzungen und anderen Netzwerkdiensten. Durch die Verwendung des SSH-Protokolls können Informationslecks während der Fernverwaltung wirksam verhindert werden. SSH war ursprünglich ein Programm auf UNIX-Systemen und wurde später schnell auf andere Betriebssystemplattformen ausgeweitet. Um die Sicherheit der Kommunikation zwischen verschiedenen Plattformen/Netzwerkhosts zu gewährleisten, müssen wir uns häufig über SSH authentifizieren. Es gibt zwei Hauptmethoden für die SSH-Authentifizierung: ① Kennwortbasierte Sicherheitsauthentifizierung: Bei jeder Anmeldung müssen Sie Ihren Benutzernamen und Ihr Kennwort eingeben. Da das Kennwort über das Netzwerk übertragen werden muss, besteht möglicherweise die Gefahr eines Man-in-the-Middle-Angriffs. 2 Konfigurieren Sie die passwortfreie SSH-AnmeldungHinweis: Das in dieser Demonstration verwendete Serverbetriebssystem ist Cent OS 7. Unsere Ziele sind: Server A (172.16.22.131) kann sich ohne Passwort bei Server B (172.16.22.132) anmelden. Hinweis: Die SSH-Verbindung ist einseitig, A kann sich ohne Kennwort bei B anmelden, B kann sich jedoch nicht gleichzeitig ohne Kennwort bei A anmelden. 2.1 Erforderliche Software installierenStellen Sie vor dem Betrieb sicher, dass die erforderliche Software ordnungsgemäß installiert wurde. Hier müssen wir # Installieren Sie ssh-keygen. Stellen Sie sicher, dass der Server eine Verbindung zum Internet herstellen kann. Ich habe es bereits installiert, daher muss ich nichts tun. [root@localhost ~]# yum install -y ssh-keygen Geladene Plugins: fastestmirror, langpacks Basis | 3,6 kB 00:00:00 epel | 3,6 kB 00:00:00 Extras | 2,9 kB 00:00:00 Aktualisierungen | 2,9 kB 00:00:00 Spiegelgeschwindigkeiten aus zwischengespeicherter Hostdatei laden Kein Paket ssh-keygen verfügbar. Fehler: Nichts zu tun # Installieren Sie ssh-copy-id [root@localhost ~]# yum install -y ssh-copy-id Geladene Plugins: fastestmirror, langpacks Spiegelgeschwindigkeiten aus zwischengespeicherter Hostdatei laden Kein Paket „ssh-copy-id“ verfügbar. Fehler: Nichts zu tun 2.2 ssh-keygen erstellt ein öffentlich-privates Schlüsselpaar (1) Generieren Sie einen RSA-Schlüssel im angegebenen Verzeichnis und geben Sie den Kommentar als "shoufeng" an. Implementierungsbeispiel: [root@localhost ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "shoufeng" # ~Schlüsseltyp~Pfad und Name der Schlüsseldatei~Anmerkungen: Generieren eines öffentlichen/privaten RSA-Schlüsselpaars. Geben Sie die Passphrase ein (leer, wenn keine Passphrase vorhanden ist): # Geben Sie das Passwort ein, oder drücken Sie die Eingabetaste, wenn Sie es nicht eingeben möchten. Geben Sie die gleiche Passphrase erneut ein: # Bestätigen Sie das Passwort erneut, oder drücken Sie die Eingabetaste, wenn Sie es nicht eingeben möchten. Ihre Identifikation wurde unter /root/.ssh/id_rsa gespeichert. Ihr öffentlicher Schlüssel wurde in /root/.ssh/id_rsa.pub gespeichert. Der Schlüsselfingerabdruck ist: 9a:e3:94:b9:69:c8:e9:68:4b:dc:fa:43:25:7f:53:f1 shoufeng Das Randomart-Bild des Schlüssels ist: +--[RSA 2048]----+ | | | . | | o | | . . . E | | + S. | | . .. .=o | |oo.oB. . | | ..o=o.+ | | .++oo+ | +-----------------+ Hinweis: Der Schlüsseldateiname muss id_xxx sein, wobei xxx der durch den Parameter -t angegebene Schlüsseltyp ist. Wenn der Schlüsseltyp beispielsweise rsa ist, muss der Schlüsseldateiname id_rsa sein. (2) Beschreibung der allgemeinen Parameter von ssh-keygen: -t: Schlüsseltyp, Sie können dsa | ecdsa | ed25519 | rsa wählen; -f: Speicherort des Schlüsselverzeichnisses, standardmäßig ist es das versteckte .ssh-Verzeichnis unter dem Home-Pfad des aktuellen Benutzers, also ~/.ssh/, und der Standardname der Schlüsseldatei beginnt mit id_rsa. Wenn es sich um den Root-Benutzer handelt, befindet es sich in /root/.ssh/id_rsa, wenn es sich um andere Benutzer handelt, befindet es sich in /home/username/.ssh/id_rsa; -C: Gibt die Anmerkungsinformationen dieses Schlüssels an. Es wird empfohlen, diese Option zu verwenden, wenn Sie mehrere passwortfreie Anmeldungen konfigurieren müssen. -N: Gibt das Passwort für dieses Schlüsselpaar an. Wenn dieser Parameter angegeben ist, gibt es während der Befehlsausführung keine interaktiven Bestätigungspasswortinformationen. Beispiel: Geben Sie den Verzeichnisspeicherort, das Kennwort und die Kommentarinformationen gleichzeitig an. Sie müssen nicht die Eingabetaste drücken, um die Erstellung abzuschließen: (3) Wechseln Sie zum Verzeichnis ~/.ssh/, um die generierten Dateien anzuzeigen: # Die generierte Datei beginnt mit test_rsa, test_rsa ist der private Schlüssel, test_rsa.pub ist der öffentliche Schlüssel: [root@localhost .ssh]# ls test_rsa test_rsa.pub # Zeigen Sie die öffentliche Schlüsseldatei mit dem Befehl „cat“ an: [root@localhost .ssh]# cat id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1OvS/nyKaOr9D8yq/FxfwKqK7TzJM0cVBAG7+YR8lc9tJTCypmNXNngiSlipzjBcnfT+5VtcFSENfuJd60dmZDzrQTxGFSS2J34CuczTQSsItmYF3DyhqmrXL+cJ2vjZWVZRU6IY7BpqJFWwfYY9m8KaL0PZ+JJuaU7ESVBXf6HJcQhYPp2bTUyff+vdV shoufeng # Sie können sehen, dass am Ende ein Kommentar steht shoufeng 2.3 ssh-copy-id sendet A's öffentlichen Schlüssel an B Die Standardverwendung ist: ssh-copy-id [email protected]. Der Standardport des Befehls ssh-copy-id bei der Verbindung mit dem Remote-Server ist 22. Natürlich können Sie die Datei, die IP des Remote-Hosts, den Benutzer und den Port angeben: # Geben Sie die zu kopierende lokale Datei sowie die IP-Adresse+Benutzername+Portnummer des Remote-Hosts an: [root@localhost .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 [email protected] /usr/bin/ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um alle bereits installierten herauszufiltern /usr/bin/ssh-copy-id: INFO: 1 Schlüssel muss noch installiert werden -- wenn Sie jetzt dazu aufgefordert werden, installieren Sie die neuen Schlüssel [email protected]'s Passwort: # Nach Eingabe des Passwortes wird der öffentliche Schlüssel kopiert Anzahl der hinzugefügten Schlüssel: 1 Versuchen Sie nun, sich mit „ssh -p ‚22‘ ‚[email protected]‘“ bei der Maschine anzumelden. und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden. 2.4 Melden Sie sich von Server A ohne Passwort bei Server B an[root@localhost .ssh]# ssh [email protected] Letzte Anmeldung: Fr 14. Jun 08:46:04 2019 von 192.168.34.16 # Anmeldung erfolgreich😄 3 Erweiterte Beschreibung3.1 Andere Möglichkeiten zum Senden öffentlicher Schlüsseldateien Der obige Schritt 2.3 besteht darin, die öffentliche Schlüsseldatei über das Tool ssh-copy-id zu senden. Natürlich können wir dies auch auf andere Weise erreichen: (1) Senden Sie die öffentliche Schlüsseldatei von A an B: Verwenden Sie den Befehl scp, um die öffentliche Schlüsseldatei von Server A in das Benutzerverzeichnis von Server B zu senden. Da die passwortfreie Anmeldung nicht erfolgreich konfiguriert wurde, müssen Sie das Passwort des entsprechenden Benutzers von Server B eingeben: [root@localhost .ssh]# scp id_rsa.pub [email protected]:/root/.ssh Passwort von [email protected]: id_rsa.pub 100% 390 0,4KB/s 00:00 (2) Erstellen Sie die Datei authorized_keys auf B: [root@localhost .ssh]# cd /root/.ssh/ [root@localhost .ssh]# ls id_rsa.pub # Generieren Sie die Datei „authorized_keys“ mit dem öffentlichen Schlüssel von Server A: [root@localhost .ssh]# cat id_rsa.pub >> autorisierte Schlüssel [root@localhost .ssh]# cat autorisierte_schlüssel ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1OvS/nyKaOr9D8yq/FxfwKqK7TzJM0cVBAG7+YR8lc9tJTCypmNXNngiSlipzjBcnfT+5VtcFSENfuJd60dmZDzrQTxGFSS2J34CuczTQSsItmYF3DyhqmrXL+cJ2vjZWVZRU6IY7BpqJFWwfYY9m8KaL0PZ+JJuaU7ESVBXf6HJcQhYPp2bTUyff+vdV shoufeng Hinweis: Verwenden Sie >>, um die obige Umleitung anzuhängen. Verwenden Sie nicht >, da dadurch der ursprüngliche Inhalt gelöscht wird. 3.2 DateiberechtigungenDamit die private und die öffentliche Schlüsseldatei bei der Authentifizierung funktionieren, müssen Sie die Richtigkeit der Berechtigungen sicherstellen: ① Für das .ssh-Verzeichnis und die darin enthaltenen öffentlichen und privaten Schlüsseldateien muss der aktuelle Benutzer mindestens über Ausführungsberechtigungen verfügen, andere Benutzer können höchstens über Ausführungsberechtigungen verfügen. ② Setzen Sie die Berechtigungen der Einfachheit halber nicht auf 777: Zu viele Berechtigungen sind unsicher und digitale Signaturen unterstützen diese Berechtigungsstrategie nicht. ③ Für normale Benutzer wird empfohlen, die Berechtigung auf 600 zu setzen: chmod 600 authorized_keys id_rsa id_rsa.pub; ④ Für den Root-Benutzer wird empfohlen, die Berechtigung auf 644 zu setzen: chmod 644 authorized_keys id_rsa id_rsa.pub. 3.3 Bearbeiten und Anzeigen von DateienWenn Sie in der Linux-Umgebung private Schlüssel, öffentliche Schlüssel und autorisierte Schlüsseldateien anzeigen oder kopieren möchten, verwenden Sie zum Öffnen keine Editoren wie vim, da dadurch unnötige Wagenrückläufe generiert werden. Sie sollten „cat“, „more“, „less“ und andere Anzeigebefehle verwenden, um den Inhalt auf dem Terminal auszugeben und dann die Anzeige, das Kopieren und andere Vorgänge auszuführen. Zusammenfassen Oben ist die vom Herausgeber vorgestellte grundlegende Verwendung von „ssh-keygen“ zum Konfigurieren der passwortfreien SSH-Anmeldung in Linux. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
>>: Einige Details zu Semikolons in JavaScript
Zusammensetzung der Tabellenbeschriftung Die Tabe...
1. Kurze Einführung Vue.js ermöglicht es Ihnen, I...
1. Einleitung Heute hat mich ein Kollege gefragt,...
1. Um ein PPTP-VPN aufzubauen, müssen Sie Port 17...
Hier ist eine kurze Einführung in Indizes: Der Zw...
Ich habe zuvor einen Artikel über rekursive Abfra...
In diesem Artikel wird der spezifische JavaScript...
Ergebnisse erzielen Implementierungscode html <...
Nginx ist mit demselben Domänennamen konfiguriert...
1. Notieren Sie mehrere Methoden zum Zentrieren d...
1. Problem Passwort für mysql5.7 unter Linux verg...
Konfigurationsdatei, die beim Systemstart geladen...
In diesem Artikel wird ein JS-Spezialeffekt vorge...
Vorwort: Ganz gleich, ob wir es für den Eigengebr...
Mit dem Tag <TH> werden die Eigenschaften e...