Bonjour à tous,
Après avoir cherché de longues heures une solution à mon problème, je me tourne vers la communauté.
Mon problème est le suivant :
je dois développer un script en Perl pour automatiser certaines taches sur différents postes.
- Le script est situé sur une machine A
- Il se connecte avec Net::Telnet sur une machine B pour effectuer des actions
- Il faut que depuis la machine B, le script se connecte sur une machine C non visible depuis A pour faire un traitement supplémentaire.
En gros, cela correspond à faire A -> B -> C, car je ne peux pas faire A->B, puis A->C.
ou depuis A :
Le problème de la commande "rlogin" avec le module Net::Telnet est qu'une invite de commande apparaît pour me demander le mot de passe. Je n'arrive pas à détecter l’évènement pour le fournir. Je claque sur le timeout du telnet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 telnet machineB login pass actions_a_executer_sur_machineB rlogin -l machineC pass actions_a_executer_sur_machineC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 login@machineB:/home/login>rlogin machineC Password:
J'ai tenté d'utiliser la commande $telnet->waitfor('/Password : /i'); sans succès.
Sachant que les actions de la machine C sont complexes et font intervenir des appli graphiques, je ne peux pas utiliser un "rsh" depuis B (en tout cas, à ma connaissance).
J'espère avoir été clair sur mon problème et qu'un âme charitable aura l'éclair de génie qui me manque
Merci d'avance.
Gnarkk
Partager