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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top