[gull] script de connexion automatique
Daniel Cordey
dc at mjt.ch
Mon Jun 14 13:07:02 CEST 2004
On Monday 14 June 2004 10:46, marquis at altern.org wrote:
> j'essaie de faire un script (sh ou perl) pour une connexion automatique: il
> faut lancer une commande et mettre le mot de passe demandé. Quelque chose
> du genre:
> echo "pass" | startup
> La commande "startup" demande un mot de passe pour continuer.
> Bien sur le script ci-dessus ne marche pas:
> - pour quelle raison? le pipe n'envoie-t-il pas le mot de passe au STDIN de
> la commande comme le ferait la saisie du mot au clavier??
Le probleme vient souvent du fait que, dans une connexion de type 'telnet', le
prompt 'passwd' est suivi/precede d'un flush() de stdin. Ce qui fait que ce
qui a ete envoye tel que 'my_user_id\nmy_password' engendre la perte de ce
qui suit le "newline". Autrement dit, le mot de passe n'est pas lu. Ceci est
destine a rendre l'acces au service "interactif". Du moins etais... car il
existe differents moyens de contourne le probleme a partir du moment ou l'on
connait ce qu'il faut faire.
Pour palier a ce probleme courant, l'outil 'expect' a ete developpe. Il est
justement destine a permettre l'ecriture de 'script' necessitant la notion
d'intercativite. CAD que la commende n'est envoyee qu'apres la reception du
prompt . Donc, j ete conseillerais de regarder :
http://freshmeat.net/projects/expect/
Daniel
More information about the gull
mailing list