Esistono due macchine Linux, A e B. Gli script in esecuzione su A devono essere in grado di SSH in B. Quindi A genera una chiave pubblica (probabilmente un id_rsa.pub generato da ssh-keygen) e quindi utilizza la rispettiva chiave privata ( di nuovo, probabilmente id_rsa) per effettuare quella connessione SSH.
Se qualcosa che ho detto sopra è errato o fuorviato, per favore inizia correggendomi!
Supponendo che io sia più o meno sul bersaglio:
si
ma B ha bisogno che la chiave pubblica di A sia elencata nel file authorized_keys di B affinché A sia in grado di connettersi a B
inoltre puoi eliminare id_rsa.pub e ssh su B e funzionerà ancora, perché la chiave pubblica viene generata fresca con ogni connessione ssh e non memorizzata in nessun id_rsa.pub
In che modo A "dà" a B la sua chiave pubblica (id_rsa.pub)? Deve essere un processo manuale o può essere automatizzato? Se manuale, qual è il processo? Se automatizzato, qual è il comando?
manuale - qualcosa del genere
da un-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
o anche più manualmente, per interrompere il comando
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
quindi su B, assicurati che esista ~ / .ssh, quindi fallo cat a.a >> ~/.ssh/authorized_keys
ed è possibile eseguire il cat gatti autorizzati_keys prima e dopo per assicurarsi che la chiave sia elencata.
Oppure puoi inviare un'e-mail a id_rsa.pub a un account e-mail, quindi da B, B può controllare l'e-mail e aggiungere il contenuto di id_rsa.pub nel suo file authorized_keys
automaticamente
Il comando ssh-copy-id
Devi essere in grado di accedere, quindi hai bisogno dell'accesso con password
Invece di fare ssh user @ host fai ssh-copy-id user @ host e ti viene richiesta una password, la inserisci, sei dentro, copierà la chiave pubblica. E la prossima volta che farai ssh user @ host userà la chiave.
Quando B "ottiene" questa chiave pubblica, dove va o viene memorizzata?
B's ~ / .ssh / authorized_keys
Quando si avvia la connessione SSH a B, in che modo A "usa" la sua chiave privata (id_rsa) come parte di tale connessione?
beh, non ne so molto, al di sopra della mia testa, ma tutto ciò che è crittografato con una chiave può essere decrittografato con l'altra chiave e identificarsi è un po 'diverso dall'invio di dati .. e potrebbe esserci qualcosa anche su una chiave temporanea.