Script shell pour envoyé un mot de pass

Résolu
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -  
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour all, j'ai crée un petit script pour accéder à ssh mais je nesais comment lui envoyé le mot de pass pour qu'il ne le demande plus à l'exécution du script? je vous donne le bout du code que j'ai envie de faire (effacer automatiquement le contenu du dossier documents le soir) :


ssh -l monpc 192.168.0.5
là je dois envoyé le mot de pass
rm -rf ~/documents/*
logout
exit

Merci à tous
A voir également:

24 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour le lien, j'ai essayé de suivre et j'ai installé expect mais au lancement du script, il me dit que la commande spawn et send ne sont pas connu. est ce qu'il faut encore installé autre chose qu'expect ? merci
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
svp, un peu d'aide
0
natas Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   66
 
salut pour pouvoir te connecter sans mot de passe tu doit au préalable faire un echange de clé public ssh entre tes serveur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour ta réponse mais je veux me connecter en utilisant un mot de pass et je crois ça marche en suivant les liens plus haut mais avec moi il plante au niveau de spawn.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

que te donne
whereis expect
?
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci encore.
expect et tcl sont bien installés.

/usr/bin/expect /usr/lib/expect5.44 /usr/share/man/man1/expect.1.gz

/usr/lib/tcl8.4 /usr/share/tcl8.4

j'ai regardé man expect mais c'est toujours pareil que ceux qui étaient dans les liens.
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Est ce que quelqu'un a encore une autre idée svp. Merci
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Euh es-tu sûr de ce que tu fais ? Parce que si tu mets un mot de passe dans ton script il sera en clair ce qui est très moyennement top d'un point de vue sécurité. A ta place j'établirais plutôt un système de clé ssh.

Bonne chance
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
je sais que ssh c'est pour une connexion sécurisée mais mon but c'est surtout d'apprendre, alors ça fait trop rien. surtout que c'est seulement sur mes machines même.Merci pour le conseil.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

peut être qu'il faut installer tcl8.4-dev
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci, c'est possible mais j'ai pas trouver sur le net car tcl 8.4 est déja compris dans mon distrib (mdv 2007). j'ai insatllé expect.rpm, je l'ai désinstallé et j'essai d'installé expect-5.43.tar.gz mais au ./configure, il me dit que il n'y a aucun config de tcl alors que tclConfig.sh est bien présent.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

tcl 8.4 est déja compris dans mon distrib

Oui, dans la mienne aussi :-)
Mais il doit avoir aussi un tcl8.4-dev
urpmi tcl 
te donne quoi
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Quand je fais whereis tcl8.4-dev, il me donne tcl8: /usr/lib/tcl8.4
urpmi tcl me donne Tous les paquetages sont déjà installés
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Tu pourrais nous afficher ton script (en masquant l'identifiant et la mot de passe) s'il te plaît, merci ;-))
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
J'ai arrangé le script comme ceux des liens :

#!/usr/bin/expect -f
set timeout 60
spawn ssh -l username server
expect "password: $"
send "password\n"
rm -rf /pc/documents/*

voilà. Mais les commandes send et spawn sont inconnus
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
0
cathan Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci, j'ai bien relu les liens et je ne vois de difference que le set forceinteractive, mais ça change rien car mon script s'arrête au niveau de spawn, send qui sont inconnus. Sauf s'il y a autre chose que j'ai oublié.
0
natas Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   66
 
essaye ça

#!/usr/bin/expect -f
set timeout 10
spawn ssh username@server
expect "password: \r"
send -- "ton_password\r"
rm -rf /pc/documents/*
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Comment lances-tu ton script ? (./ton_script)
Est-il exécutable ? (chmod +x ton_script)

Je viens de refaire des essais et je n'ai aucun problème :
#!/usr/bin/expect -f

set force_conservative 1;

set timeout 3
spawn ssh -l $user $server -p222
expect "password: $"
send "xxxxxx\n"
interact
;-))
0
natas Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   66
 
ssh s'est sur le port 22 donc il me semble qu'un :
spawn ssh -l $user $server -p22 marchera mieux
;-)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > natas Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Exact, sauf si on l'a changé, ce qui est mon cas ;-))
0