Voglio scp
un file a un host remoto e da lì eseguire un comando sul file e uscire dalla sessione remota. Se scrivo un normale script, chiama scp
e poi ssh
, mi viene richiesto di inserire due password. C'è un modo per copiare, ssh
ed eseguire un comando su una macchina remota con una password?
Inoltre, come scrivere script che devono interagire con l'utente per inserire le password?
Non voglio usare "lettura" perché non è sicuro. Non voglio usare ssh
senza password , poiché il mio file della chiave privata potrebbe essere compromesso, il che è anche peggio. Ho letto qualcosa su "aspettarsi" ma non sono sicuro che sia lo strumento giusto.
Risposta accettata:
Non voglio usare ssh senza password, poiché il mio file della chiave privata potrebbe essere compromesso, il che è anche peggio.
No, questo è sbagliato. Un file di chiave privata fornisce più sicurezza di una password. Utilizzare un file di chiave privata. Il file della chiave privata è crittografato con una password; se qualcuno ottiene il file della chiave, ha comunque bisogno della tua password. Se stavi utilizzando l'autenticazione della password, chiunque si impossessa della password sarebbe libero di casa.
Esegui ssh-agent
per tutta la durata della tua sessione. Prima di utilizzare una chiave particolare, inserisci la password con ssh-add
(o tramite qualche prompt della GUI). Quindi non ci sarà un messaggio quando ti connetti utilizzando questa chiave.