Automatiser TELNET ?
Résolu
tbeghain
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
mig -
mig -
Bonjour,
J'exécute actuellement sur un serveur AIX, un script shell à partir de mon poste windows. par faire cela, j'auvre une fenêtre windows cmd, tape la commande telnet, puis me connecte au serveur Unix avec un user particulier qui exécute, dans son profil, le script shell. Est-il possible d'automatiser telnet de façon à ce que je n'ai pas à entrer le user et le mot de passe ?
Si ce n'est pas possible, comment puis-je faire autrement de façon toute aussi simple, sans installer de produits spéciaux sur les postes ou le serveur ?
Merci,
Thierry
J'exécute actuellement sur un serveur AIX, un script shell à partir de mon poste windows. par faire cela, j'auvre une fenêtre windows cmd, tape la commande telnet, puis me connecte au serveur Unix avec un user particulier qui exécute, dans son profil, le script shell. Est-il possible d'automatiser telnet de façon à ce que je n'ai pas à entrer le user et le mot de passe ?
Si ce n'est pas possible, comment puis-je faire autrement de façon toute aussi simple, sans installer de produits spéciaux sur les postes ou le serveur ?
Merci,
Thierry
A voir également:
- Telnet script windows
- Clé windows 8 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows movie maker - Télécharger - Montage & Édition
- Restauration systeme windows 10 - Guide
9 réponses
Salut,
Tu devrais pouvoir utiliser expect pour cela :
http://aixpdslib.seas.ucla.edu/packages/expect.html
Ou, si tu as Perl, tu peux utiliser le module Net::Telnet, disponible sur CPAN
https://metacpan.org/pod/release/JROGERS/Net-Telnet-3.03/lib/Net/Telnet.pm
Mais si ton script doit se lancer à heures fixes, n'est-il pas plus simple de le lancer avec cron ?
Dal
Tu devrais pouvoir utiliser expect pour cela :
http://aixpdslib.seas.ucla.edu/packages/expect.html
Ou, si tu as Perl, tu peux utiliser le module Net::Telnet, disponible sur CPAN
https://metacpan.org/pod/release/JROGERS/Net-Telnet-3.03/lib/Net/Telnet.pm
Mais si ton script doit se lancer à heures fixes, n'est-il pas plus simple de le lancer avec cron ?
Dal
Salut,
Puisque tes postes semblent être sous Windows (bien que tu ne l'aies pas confirmé expressément), tu pourrais jeter un oeil à AutoIt (qui est un programme dont seules des versions Windows existent, pas Linux)
https://www.autoitscript.com/site/
et à différentes méthodes utilisables avec cet utilitaire (gratuit et fort bien conçu) pour exploiter et intéragir avec une fenêtre de terminal DOS sous Windows, comme une session Telnet (bien qu'il soit plutôt conçu pour piloter des applications graphiques).
https://www.autoitscript.com/forum/topic/47655-reading-text-out-of-the-body-of-terminal-sessions/
Avec cela, tu pourras créer de jolies interfaces facilitant la vie de tes utilisateurs. Tu peux compiler ton script sous la forme d'un exécutable, ce qui évite d'avoir à installer AutoIt sur tous les postes, et tu pourras mettre l'exécutable sur un share en réseau accessible des utilisateurs.
Mais, comme tu le vois, si tes postes clients sont sous Windows, ta question ne concerne que très peu (voire pas du tout) Linux.
Bonne continuation.
Dal
Puisque tes postes semblent être sous Windows (bien que tu ne l'aies pas confirmé expressément), tu pourrais jeter un oeil à AutoIt (qui est un programme dont seules des versions Windows existent, pas Linux)
https://www.autoitscript.com/site/
et à différentes méthodes utilisables avec cet utilitaire (gratuit et fort bien conçu) pour exploiter et intéragir avec une fenêtre de terminal DOS sous Windows, comme une session Telnet (bien qu'il soit plutôt conçu pour piloter des applications graphiques).
https://www.autoitscript.com/forum/topic/47655-reading-text-out-of-the-body-of-terminal-sessions/
Avec cela, tu pourras créer de jolies interfaces facilitant la vie de tes utilisateurs. Tu peux compiler ton script sous la forme d'un exécutable, ce qui évite d'avoir à installer AutoIt sur tous les postes, et tu pourras mettre l'exécutable sur un share en réseau accessible des utilisateurs.
Mais, comme tu le vois, si tes postes clients sont sous Windows, ta question ne concerne que très peu (voire pas du tout) Linux.
Bonne continuation.
Dal
Salut,
Pout automatiser tes connexion telnet il exist un addon au logiciel Putty qui est un client Telnet,SSH.
Cet addon biensur Gratuit va te permettre de te connecter vient ton pc windows a ta station unix via telnet ou SSH et d'avoir des commandes automatiser par un simple click de souris (scenario de commandes .....).
Il s'agit d' Extraputty http://extraputty.free.fr
J'espère que cela pourra t'aider.
Asebt.
Pout automatiser tes connexion telnet il exist un addon au logiciel Putty qui est un client Telnet,SSH.
Cet addon biensur Gratuit va te permettre de te connecter vient ton pc windows a ta station unix via telnet ou SSH et d'avoir des commandes automatiser par un simple click de souris (scenario de commandes .....).
Il s'agit d' Extraputty http://extraputty.free.fr
J'espère que cela pourra t'aider.
Asebt.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci à ceux qui m'ont répondu, mais je ne peux rien installer sur le serveur UNIX, et il n'y a pas PERL. SSH ne me convient pas plus, parce que le shell lancé est un dialogue. Non, ce que j'aimerais, c'est, au travers d'une fenêtre windows, me connecter à l'unix sans rentrer de user ni de mot de passe, et d'exécuter le shell.
Re,
Expect et Net::Telnet ne sont utiles dans le contexte de ta demande que tu côté client.
Comme tu n'indiques pas le système d'exploitation de tes clients, j'ai supposé que c'était AIX aussi. Si c'est du Windows cela existe aussi pour Windows :
http://expect.nist.gov/#windows
http://www.activestate.com/Products/ActivePerl/
Expect suppose que Tcl/Tk soit derrière et Net::Telnet nécessite Perl. Tout celà, du côté client.
parce que le shell lancé est un dialogue
Si tu veux dire par là que le script que tu lances est intéractif et demande quelque chose à l'utilisateur, je crois qu'il ne te reste plus que Expect :)
sans installer de produits spéciaux sur les postes ou le serveur
Cette phrase a l'air de dire que tu veux que tous (un nombre indéterminé) de postes puissent le faire. A vrai dire, je ne comprend pas très bien pourquoi tous les postes d'une organisation devraient être en mesure d'effectuer ce qui me semble être une tâche relevant d'un administrateur réseau.
Dans une autre direction, si tu si es en mesure d'automatiser côté client, je ne vois pas pourquoi tu ne le ferais pas côté serveur, en créant une simple tâche cron sous l'utilisateur qui doit lancer le script et en modifiant le script pour qu'il se lance tout seul sans "dialogue". Si le script s'exécute en tant qu'utilisateur, tu as au moins des droits de lecture dessus (en plus des droits d'exécution) et tu peux donc en faire une copie et la modifier.
Mais je manque peut être de contexte quant à tes besoins et tes contraintes :)
Enfin, note que si tes clients sont sous Windows, tu devrais vérifier dans la doc Windows s'il n'est pas possible de scripter la version du client telnet de Microsoft (même si j'en doute.. d'après ce que je vois, ils ont bien un "tlntadmn" sur certaines versions de Windows, mais je pense qu'on ne peut rien en tirer d'utile pour toi, et que cela semble ne fonctionner que pour piloter un MS Telnet Server). Enfin, cette question est d'avantage pour des Windowsiens :)
Dal
Expect et Net::Telnet ne sont utiles dans le contexte de ta demande que tu côté client.
Comme tu n'indiques pas le système d'exploitation de tes clients, j'ai supposé que c'était AIX aussi. Si c'est du Windows cela existe aussi pour Windows :
http://expect.nist.gov/#windows
http://www.activestate.com/Products/ActivePerl/
Expect suppose que Tcl/Tk soit derrière et Net::Telnet nécessite Perl. Tout celà, du côté client.
parce que le shell lancé est un dialogue
Si tu veux dire par là que le script que tu lances est intéractif et demande quelque chose à l'utilisateur, je crois qu'il ne te reste plus que Expect :)
sans installer de produits spéciaux sur les postes ou le serveur
Cette phrase a l'air de dire que tu veux que tous (un nombre indéterminé) de postes puissent le faire. A vrai dire, je ne comprend pas très bien pourquoi tous les postes d'une organisation devraient être en mesure d'effectuer ce qui me semble être une tâche relevant d'un administrateur réseau.
Dans une autre direction, si tu si es en mesure d'automatiser côté client, je ne vois pas pourquoi tu ne le ferais pas côté serveur, en créant une simple tâche cron sous l'utilisateur qui doit lancer le script et en modifiant le script pour qu'il se lance tout seul sans "dialogue". Si le script s'exécute en tant qu'utilisateur, tu as au moins des droits de lecture dessus (en plus des droits d'exécution) et tu peux donc en faire une copie et la modifier.
Mais je manque peut être de contexte quant à tes besoins et tes contraintes :)
Enfin, note que si tes clients sont sous Windows, tu devrais vérifier dans la doc Windows s'il n'est pas possible de scripter la version du client telnet de Microsoft (même si j'en doute.. d'après ce que je vois, ils ont bien un "tlntadmn" sur certaines versions de Windows, mais je pense qu'on ne peut rien en tirer d'utile pour toi, et que cela semble ne fonctionner que pour piloter un MS Telnet Server). Enfin, cette question est d'avantage pour des Windowsiens :)
Dal
Bonjour,
Je n'ai pas dû bien me faire comprendre. Le problème était de savoir comment faire un script qui se connecte automatiquement par telnet à un serveur AIX avec toujours le même utilisateur et à partir de windows.
Ce script serait exécuté à partir du poste de travail (donc mis à disposition à tout le monde via le réseau).
Mais il semble qu'on ne puisse pas automatiser telnet simplement à partir d'un poste lambda, alors tant pis, les utilisateurs vont continuer à taper telnet nom du serveur, et rentrer le user et le mot de passe à la main.
Un grand Merci en tous cas à ceux qui ont pris la peine de m'aider
Thierry
Je n'ai pas dû bien me faire comprendre. Le problème était de savoir comment faire un script qui se connecte automatiquement par telnet à un serveur AIX avec toujours le même utilisateur et à partir de windows.
Ce script serait exécuté à partir du poste de travail (donc mis à disposition à tout le monde via le réseau).
Mais il semble qu'on ne puisse pas automatiser telnet simplement à partir d'un poste lambda, alors tant pis, les utilisateurs vont continuer à taper telnet nom du serveur, et rentrer le user et le mot de passe à la main.
Un grand Merci en tous cas à ceux qui ont pris la peine de m'aider
Thierry
Salut,
Tu n'as pas dû tout bien saisir non plus dans la mesure ou "[Dal]" t'a proposé dans son thread d'utiliser "expect" qui convient très bien à ce genre d'utilisation...
http://www.oreilly.com/catalog/expect/chapter/ch03.html
Tu n'as pas dû tout bien saisir non plus dans la mesure ou "[Dal]" t'a proposé dans son thread d'utiliser "expect" qui convient très bien à ce genre d'utilisation...
http://www.oreilly.com/catalog/expect/chapter/ch03.html