I was expecting something...

Non ce n'est pas un post en anglais mais un petit billet à propos de ce magnifique petit interpréteur qui est expect !

Pour tout ceux qui cherchent le moyen de scripter des actions à effectuer de manière distante via ssh ET que vous ne pouvez pas utiliser un système d'authentification par clé (bien pratique autrement), voilà le petit bout de script qui va vous sauvez des heures de galères :

#!/usr/bin/expect -f
set password [lrange $argv 0 0] set username [lrange $argv 1 1] set ipaddr [lrange $argv 2 2] set scriptname [lrange $argv 3 3] set arg1 [lrange $argv 4 4] set timeout -1
spawn ssh -o StrictHostKeyChecking=no $username@$ipaddr $scriptname $arg1
match_max 100000 expect "?assword:" send -- "$password\r" //send blank line (\r) to make sure we get back to gui send -- "\r" expect eof

Pour le lancer, rien de complexe :

./monscript.exp password user 10.0.0.1 cp from to argument here

PS : Si vous voulez utiliser sshfs, vous pouvez simplement utiliser stdin (pas possible avec ssh, il attends son password depuis le tty).

echo $pwd | sshfs -o StrictHostKeyChecking=no -o password_stdin root@$target:/ /mnt/mountpoint/

feed ton aggrégateur !

/var/www/flickr

Lezardons !Port de BarfleurLumiere du PhareChemin du PhareMurakami Versailles #3Porte Doree VersaillesMurakami Versailles #1Panorama Phare de GatevilleJulia