Es gibt zwei Linux-Maschinen, A und B. Skripte, die auf A ausgeführt werden, müssen in der Lage sein, SSH in B zu übertragen. Daher generiert A einen öffentlichen Schlüssel (wahrscheinlich einen von ssh-keygen generierten id_rsa.pub) und verwendet dann seinen jeweiligen privaten Schlüssel ( wieder wahrscheinlich id_rsa), um diese SSH-Verbindung herzustellen.
Wenn etwas, was ich oben gesagt habe, falsch oder irregeführt ist, korrigieren Sie mich bitte zunächst!
Vorausgesetzt, ich bin mehr oder weniger am Ziel:
Ja
B benötigt jedoch den öffentlichen Schlüssel von A, der in der Datei "authorized_keys" von B aufgeführt ist, damit A eine Verbindung zu B herstellen kann
Sie können auch id_rsa.pub und ssh nach B löschen und es funktioniert weiterhin, da der öffentliche Schlüssel bei jeder ssh-Verbindung neu generiert und in keinem id_rsa.pub gespeichert wird
Wie "gibt" A B seinen öffentlichen Schlüssel (id_rsa.pub)? Muss dies ein manueller Prozess sein oder kann er automatisiert werden? Wenn manuell, wie ist der Prozess? Wenn automatisiert, wie lautet der Befehl?
Handbuch - so etwas wie
von einem-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
oder noch mehr manuell, um den Befehl aufzuschlüsseln
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
Stellen Sie dann auf B sicher, dass ~ / .ssh vorhanden ist, und tun Sie dies cat a.a >> ~/.ssh/authorized_keys
und Sie können autorisierte_Tasten von B vorher und nachher katzen, um sicherzustellen, dass der Schlüssel aufgelistet ist.
Oder Sie können id_rsa.pub per E-Mail an ein E-Mail-Konto senden. Von B aus kann B die E-Mail abrufen und den Inhalt von id_rsa.pub an seine Datei "authorized_keys" anhängen
automatisch
Der Befehl ssh-copy-id
Sie müssen in der Lage sein, ssh einzutragen, daher benötigen Sie einen Kennwortzugriff
Anstatt ssh user @ host zu machen, machst du ssh-copy-id user @ host und du wirst zur Eingabe eines Passworts aufgefordert, du gibst es ein, du bist dabei, es wird den öffentlichen Schlüssel kopieren. Und wenn Sie das nächste Mal ssh user @ host ausführen, wird der Schlüssel verwendet.
Wenn B diesen öffentlichen Schlüssel "bekommt", wohin geht er oder wird er gespeichert?
B's ~ / .ssh / autorisierte_Tasten
Wie verwendet A beim Initiieren der SSH-Verbindung zu B seinen privaten Schlüssel (id_rsa) als Teil dieser Verbindung?
Nun, ich weiß nicht viel darüber, aber was auch immer mit einem Schlüssel verschlüsselt ist, kann mit dem anderen Schlüssel entschlüsselt werden, und sich zu identifizieren ist ein bisschen anders als das Senden von Daten. Und es kann etwas geben über einen temporären Schlüssel auch.