[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