Crea una chiave ssh secondaria senza password per impostare un tunnel ssh
-
03-07-2019 - |
Domanda
Devo creare uno script che imposta automaticamente un tunnel ssh. Penso che una chiave ssh dedicata senza password sia un buon inizio, ma non sono riuscito a trovare se questo è possibile e come farlo. Questa chiave dovrebbe avere privilegi limitati (solo impostare il tunnel), ma ho bisogno di un'altra chiave privata (con una password) per me.
Grazie!
Soluzione
Ok, ho trovato la risposta.
Innanzitutto, ssh-keygen -f theNewPrivateKey
altrimenti sovrascriverà la vecchia chiave privata.
In secondo luogo, ssh -i theNewPrivateKey me @ mycomputer
l'opzione -i
cambia la chiave privata utilizzata per l'autenticazione.
Ora posso provare il mio script.
Modifica: in che modo la mia nuova chiave ha privilegi limitati:
Quando ho copiato la chiave pubblica nel file $ HOME / .ssh / authorized_keys2 del computer di destinazione, ho aggiunto questo:
command="sleep 99999999999" ssh-dss AAAAB3NzaC1kc3MA...
(+ the rest of the key)
Quindi l'unico comando consentito è aspettare per sempre. Poiché lo scopo di creare questa chiave era quello di creare un tunnel SSH inverso, questo dovrebbe andare bene. Quindi creo il tunnel:
ssh -T -R 7878:localhost:22 -i .ssh/mynewkey me@myhomecomputer
Finalmente posso accedere dal mio computer di casa:
ssh myworklogin@localhost -p7878
Spero che questo non abbia problemi di sicurezza. Se questa è una brutta cosa, per favore fatemi sapere!
Altri suggerimenti
Prova
ssh-keygen
comando.
Ho avuto una situazione simile in cui ho dovuto sincronizzare automaticamente il contenuto di un server senza dover fornire la password nel mio script robocopy.
Questo Link mi ha aiutato.