2013-06-04 22 views
71

Ogni giorno mi collego a un server tramite ssh. Eseguo questa routine:Come inserire la password ssh usando bash?

IC001:Desktop user$ ssh [email protected] 
[email protected]'s password: 

Last login: Tue Jun 4 10:09:01 2013 from 0.0.0.0 
$ 

Vorrei automatizzare questo processo e creare uno script bash per farlo per me. Non mi interessa la sicurezza e ok per memorizzare la mia password apertamente nella sceneggiatura. Sto anche bene che venga digitato apertamente sullo schermo mentre lo script viene eseguito. Quindi ho creato questo:

#!/bin/bash   
ssh [email protected] 
echo mypassword 

Ma non funziona. Ho anche provato send anziché echo, ma non ha funzionato. Si prega di avvisare se è possibile farlo.

+0

https://help.ubuntu.com/community/SSH/OpenSSH/Keys – Kevin

+4

@ Kevin, io non sono responsabile dei server. Sono solo un utente che si connette a loro. Non sono autorizzato a modificare NULLA sul server. – Prostak

+1

anche: http://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command?rq=1 http://stackoverflow.com/questions/ 13298487/bash-script-to-ssh-in-a-machine-without-prompting-password-and-without-using-k? Rq = 1 http://stackoverflow.com/questions/3796345/can-i-use -a-heredoc-to-enter-a-password-in-bash? rq = 1 – jm666

risposta

150

doppio controllo se non si è in grado t o usare i tasti.

Altrimenti utilizzare aspettano:

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect "assword:" 
send "mypassword\r" 
interact 
+89

uh ... "assword" è un refuso o inteso? –

+166

È inteso: corrisponde a 'Password' e' password'. – michas

+5

Ho provato questo in TextExpander, ma ottengo 'spawn: comando non trovato'. L'ho provato senza la parola chiave, ma non succede nulla. – jowie

83

Creare una nuova coppia di chiavi: (andare con le impostazioni predefinite)

ssh-keygen 

copiare la chiave pubblica al server: (password per l'ultima volta)

ssh-copy-id [email protected] 

D'ora in poi il server dovrebbe riconoscere la vostra chiave e non chiedere la password più:

ssh [email protected] 
+0

Non sono autorizzato a fare nulla sul server. È possibile farlo nell'altro modo? – Prostak

+0

Qual è il punto di accesso, se non ti è permesso fare nulla lì? – michas

+0

per leggere solo i log ... ma non è questo il punto. – Prostak

Problemi correlati