Appel txt dans EXPECT

rmzz5 Messages postés 38 Statut Membre -  
rmzz5 Messages postés 38 Statut Membre -
Bonjour à tous,

J'essaye de me connecter en ssh via un expect en spécifiant le mot de passe dans un fichier texte mais je n'arrive pas à faire appel mon fichier txt.

Voilà mon script :
#!/usr/bin/expect -f

spawn ssh root@IP_DE_MON_SERVEUR_DISTANT
expect "assword: "
send "password.txt\r"
interact

Lorsque je lance le script, on me demande toujours le mot de passe.

En mettant le mot de passe directement dans le script, ça fonctionne.

Est-ce vous avez une solution à me proposer ? svp

Je galère depuis 2 jours la dessus.

Merci à vous,


1 réponse

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

#!/usr/bin/expect -f

set passfile [open "/chemin/vers/password.txt" r]
set password [read $passfile]
close $passfile


spawn ssh root@IP_DE_MON_SERVEUR_DISTANT
expect "password:\n "
send -- "$password \n"
interact


1
rmzz5 Messages postés 38 Statut Membre
 
Bonsoir et merci pour ton message zipe,
J'ai modifié le code mais on me demande toujours le mot de passe.
Dans mon fichier password.txt, j'ai pourtant bien une ligne avec mon mot de passe.

Tu as une idée ?
0
rmzz5 Messages postés 38 Statut Membre
 
Ça y est ça fonctione, dans ton expect il ne fallait pas mettre --> expect "password:\n " mais --> expect "password: "

Imaginons que j'ai plusieurs mot de passe dans mon fichier texte (à chaque ligne) et que je veux que le "expect" parcours le fichier jusqu'à ce qu'il tombe sur le bon.
Comment faire ?
0
zipe31 Messages postés 38797 Statut Contributeur 6 433 > rmzz5 Messages postés 38 Statut Membre
 
0
rmzz5 Messages postés 38 Statut Membre
 
Merci pour lien mais je n’arrive pas à trouver la bonne ligne et à quel moment l’inserer.
0