Es gibt zwei Linux-Maschinen, A und B. Skripts, die auf A ausgeführt werden, müssen in der Lage sein, SSH in B zu erstellen. Also generiert A einen öffentlichen Schlüssel (wahrscheinlich einen von ssh-keygen generierten id_rsa.pub) und verwendet dann seinen jeweiligen privaten Schlüssel ( (wahrscheinlich id_rsa), um diese SSH-Verbindung herzustellen.
Wenn etwas, was ich oben gesagt habe, falsch oder falsch ist, korrigieren Sie mich bitte zuerst!
Angenommen, ich bin mehr oder weniger am Ziel:
Ja
B benötigt jedoch den öffentlichen Schlüssel von A, um in der B-Datei authorized_keys aufgeführt zu werden, damit sich A mit B verbinden kann
Sie können auch id_rsa.pub und ssh in B löschen, und es funktioniert weiterhin, da der öffentliche Schlüssel mit jeder ssh-Verbindung neu generiert und nicht in irgendeiner id_rsa.pub gespeichert wird
Wie "gibt" A seinen öffentlichen Schlüssel (id_rsa.pub)? Muss dies ein manueller Prozess sein oder kann es automatisiert werden? Wenn manuell, wie ist der Prozess? Wenn automatisiert, wie lautet der Befehl?
Handbuch - sowas
von einem-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
oder noch mehr manuell, um den Befehl abzubrechen
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
Stellen Sie dann auf B sicher, dass ~ / .ssh vorhanden ist, und tun Sie dann cat a.a >> ~/.ssh/authorized_keys
und Sie können die Vor-und Nachher-ID-Schlüssel von B ausführen, um sicherzustellen, dass der Schlüssel aufgeführt ist.
Oder Sie können id_rsa.pub eine E-Mail an ein E-Mail-Konto senden. Dann kann B von B aus die E-Mail abrufen und den Inhalt von id_rsa.pub in seine Datei authorized_keys anhängen
automatisch
Der Befehl ssh-copy-id
Sie müssen in der Lage sein, ssh einzuschalten, damit Sie auf das Kennwort zugreifen können
Anstatt ssh user @ host auszuführen, müssen Sie ssh-copy-id user @ host eingeben, und Sie werden zur Eingabe eines Kennworts aufgefordert. Sie geben es ein, Sie befinden sich in diesem Ordner, und der öffentliche Schlüssel wird kopiert. Und wenn Sie ssh user @ host das nächste Mal verwenden, wird der Schlüssel verwendet.
Wenn B diesen öffentlichen Schlüssel "bekommt", wo wird er gespeichert oder gespeichert?
B's ~ / .ssh / authorised_keys
Wie verwendet A beim Einleiten der SSH-Verbindung zu B seinen privaten Schlüssel (id_rsa) als Teil dieser Verbindung?
Nun, ich weiß nicht viel darüber, aber nicht, was mit einem Schlüssel verschlüsselt wird, kann mit dem anderen Schlüssel entschlüsselt werden, und sich selbst zu identifizieren, ist etwas anderes als das Senden von Daten. Und da kann etwas sein auch über einen temporären Schlüssel.