Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

shell pour se connecter à un serveur via telnet et envoyer des commandes

5 réponses
Avatar
Remy
Bonjour,

Je ne sais pas si je me trompe de newsgroupe mais je n'en ai pas trouver
un autre pour envoyer mon message ...

Alors voilà j'ai realiser un ptit script shell qui fonctionne jusqu'a
une certaine limite, je ne suis pas experimenté dans les shell (à mon
plus grand regres)

voilà mon script shell

####################################
#!/bin/sh

exec expect -- "$0" ${1+"$@"}

exp_version -exit 5.0
set timeout 60

exec telnet MON_IP 51234
expect "TS"

send "sel 8755\r"
expect "OK"

send "slogin Rémy MON_MDP\r"
expect "OK"

send "rehash\r"
expect "OK"

send "quit"
close
wait

#####[FIN DU SCRIPT]###############

Lorsque j'execute le script j'obtien l'erreur suivante

[remy@uranus tss2_rc2]# ./rehash.sh
./rehash.sh: exec: expect: not found

pourtant j'ai
exec expect -- "$0" ${1+"$@"}
je lui dit ce qu'il doit faire ...

Si vous pouviez m'aider, ou m'orienté vers une autre solution ...
Merci beaucoup pour votre réponse.

Bonne Journée
Rémy.

5 réponses

Avatar
Raphaël \SurcouF\ Bordet
Bonjour,


[...]

Lorsque j'execute le script j'obtien l'erreur suivante

[ tss2_rc2]# ./rehash.sh
./rehash.sh: exec: expect: not found

pourtant j'ai
exec expect -- "$0" ${1+"$@"}
je lui dit ce qu'il doit faire ...


Oui mais manifestement, soit l'interpréteur expect n'est pas installé,
soit tu ne l'as pas parmi tes chemins (variable $PATH).
À toi de palier au problème selon ta distribution.

--
Raphaël 'SurcouF' Bordet

# | http://www.debianfr.net

Avatar
Remy

Oui mais manifestement, soit l'interpréteur expect n'est pas installé,
soit tu ne l'as pas parmi tes chemins (variable $PATH).
À toi de palier au problème selon ta distribution.



J'utilise Red Hat Linux release 7.2, comment installer l'interpréteur
expect ? (j'ai cherché sous google j'ai trouvé http://expect.nist.gov/
mais après ?
N'y a t'il pas un autre moyen de faire ce que je veux ?

Merci Beaucoup.
Rémy.

Avatar
Raphaël \SurcouF\ Bordet

Oui mais manifestement, soit l'interpréteur expect n'est pas install é,
soit tu ne l'as pas parmi tes chemins (variable $PATH).
À toi de palier au problème selon ta distribution.



J'utilise Red Hat Linux release 7.2, comment installer l'interpréteur
expect ? (j'ai cherché sous google j'ai trouvé http://expect.nist.gov /
mais après ?
N'y a t'il pas un autre moyen de faire ce que je veux ?


Une bien vieille version de RedHat.
Il conviendrait déjà de la mettre à jour, ne serait-ce que pour parer
aux trous de sécurité qui n'ont pas manquer d'apparaître depuis.
Ensuite, il vaut mieux regarder sur les CD de la distribution (au nombre
total de 3) si un paquet rpm d'expect n'est pas déjà présent. À pri ori,
il devrait y en avoir un, si ma mémoire est bonne.

--
Raphaël 'SurcouF' Bordet

# | http://www.debianfr.net


Avatar
k
Le Sat, 14 Aug 2004 19:23:15 +0200 après l'an de grâce, inspiré(e)
Raphaël ""SurcouF" Bordet" écrivait la plume
légère :

Bonjour,



Oui mais manifestement, soit l'interpréteur expect n'est pas installé,
soit tu ne l'as pas parmi tes chemins (variable $PATH).
À toi de palier au problème selon ta distribution.


Perl reste une solution plus durable de développement que expect (qui
connaît encore Tcl/Tk ?)
Notamment :
use Net::Telnet;
permet de se connecter en telnet, mais il y a aussi la possiblité de se
connecter en ssh (ce qui est plus sur)


use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10,
Prompt => '/bash$ $/');
$t->open("sparky");
$t->login($username, $passwd);
@lines = $t->cmd("/usr/bin/who");
print @lines;

http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm

Je dis ça ... je dis rien
--
Julien Tayon Plus que des logiciels libres, des méthodes
mailto: http://www.libroscope.org
Quick, sing me the BUDAPEST NATIONAL ANTHEM!!


Avatar
Raphaël \SurcouF\ Bordet

Malheuresement, je ne connais pas perle,
et il ne sagit pas d'un telnet conventionnel (c'est à dire que ça ne
demande pas le login et le mdp)

Lorsque l'on se connect au serveur, on a un prompt qui nous demande
rien, on doit tout fournir avec des commande specifique par exemple
slogin (pour s'identifier en tant que super utilisateur)
et quand l'operation est effectué, on a une réponse OK ou ERROR.

J'ai cherché plusieurs solution, mais elle ne fonctionne pas a vrai dir e
je suis bien embété...

Y aurait il des personnes qui auraient d'autres idées ?


Déjà, question sécurité, je ne saurais trop déconseillé ce type
d'approche. Par contre, se baser sur une identification par ssh
(moyennant une clé sans passphrase, évidemment) permettrait de mieux
cadrer la portée des actions que tu prévois de faire: en effet, on peut
très facilement limiter les actions à une commande précise.

--
Raphaël 'SurcouF' Bordet

# | http://www.debianfr.net