Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6211 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [ expect ] upload SSH / SCP automatisé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ expect ] upload SSH / SCP automatisé

n°2170109
ANViL
yep...definitely ♫
Posté le 07-01-2013 à 13:29:40  profilanswer
 

Salut tout le monde  :hello:  
 
J'ai actuellement une routine située dans un shell script et qui me permet de faire un upload du profil, d'un utilisateur donné, sur plusieurs serveurs.
 
Cette routine est assez simple et fonctionne bien :)
 
Le souci est le suivant :
 

  • les serveurs gèrent l'authentification via VAS (un daemon qui assure le lien vers l'active directory)
  • il arrive que ce lien vers l'AD soit coupé, rendant l'authentification impossible
  • le comportement lors d'une tentative de connection est alors le suivant : on reçoit un password prompt indéfiniment


exemple :
 

Citation :


$> spawn scp -p -q -o StrictHostKeyChecking=no -o ConnectTimeout=7 .bash_profile .bashrc toto@server1:~/
Password:
Password:
Password:
Password:
...



 
A chaque fois, expect envoie le password mais retombe sur le même prompt.
 
Afin de traiter les cas où l'AD n'est pas joignable, je cherche la meilleure manière de mettre à jour le snipet expect.
 

Code :
  1. ...
  2. export exp_username='toto'
  3. export exp_pwd='*****'
  4. for line in ${hosts_table[@]}
  5. do
  6. export server_name=$(echo "$line" | awk '{print $2}');
  7. expect -c '
  8. eval spawn scp -p $env(ssh_flags) ".bash_profile .bashrc" $env(exp_username)@$env(server_name):~/
  9. match_max 1024000
  10. expect
  11. {
  12.  eof                               { send_error "\n ERROR : SSH failure\n"                       ; exit 1  }
  13.  -nocase "connection refused"      { send_error "\n ERROR : Connection refused by remote host\n" ; exit 1  }
  14.  -nocase "connection timed out"    { send_error "\n ERROR : Connection timed out\n"              ; exit 1  }
  15.  -nocase "closed by"               { send_error "\n ERROR : Connection closed by remote host\n"  ; exit 1  }
  16.  -nocase "no route"                { send_error "\n ERROR : No route to host\n"                  ; exit 1  }
  17.  -re ".*es.*o.*"                   { send "yes\r"                                                ; exp_continue }
  18.  -re ".*sword.*"                   { exp_send "$env(exp_pwd)\r"                                            }
  19.  -nocase "press enter to continue" { send "\r"                                                   ; exp_continue }
  20. }
  21. interact'
  22. done
  23. ...


 
 
Si quelqu'un a une idée je suis preneur  :jap:


Message édité par ANViL le 07-01-2013 à 13:40:46

---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
mood
Publicité
Posté le 07-01-2013 à 13:29:40  profilanswer
 

n°2170472
ANViL
yep...definitely ♫
Posté le 09-01-2013 à 16:31:56  profilanswer
 

Personne ? :)
 
 
 
 
 
 


---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  
n°2171205
tuxerman12
Posté le 14-01-2013 à 19:12:40  profilanswer
 

Incrémenter un compteur dans ton expect password peut-être, sortir si le compteur dépasse un seuil d'essais.

n°2171358
ANViL
yep...definitely ♫
Posté le 15-01-2013 à 16:51:35  profilanswer
 

tuxerman12 a écrit :

Incrémenter un compteur dans ton expect password peut-être, sortir si le compteur dépasse un seuil d'essais.


 
Merci pour ta réponse  :)  
 
J'ai essayé d'implémenter un compteur, mais le problème qui se pose est le suivant :
 
 
-> j'envoie le password
-> j'incrémente une première fois le compteur
-> Je check le compteur : il ne dépasse pas encore la limite, je peux faire un second essai
 
 
Le souci c'est qu'avant de faire un 2eme essai, je dois essayer d'interagir avec la session, afin de vérifier que le premier envoi de m-d-p a fonctionné (ou pas).
 
C'est ce dernier point qui est assez compliqué  :sweat:


Message édité par ANViL le 15-01-2013 à 16:51:42

---------------
Easy Ridin'  ⎝⏠⏝⏠⎠  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [ expect ] upload SSH / SCP automatisé

 

Sujets relatifs
Upload files phpScript "acceptation" d'images après upload sur le serveur web.
upload de fichierUpload pour site
[Résolu] Quote Execute + Find pour le listing de fichierRajout d'une combobox sur useforme automatisé
Script upload imagesUpload multiples marche pas
proteger un formulaire d'upload 
Plus de sujets relatifs à : [ expect ] upload SSH / SCP automatisé


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)