Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/08/2008, à 08:12

carmelo_08

script shell pour telnet

Je voudrais écrire un script shell pour me connecter par telnet sur un serveur et ne pas devoir entrez à chaque fois l'adresse du serveur et login. Avec mons cript je parviens à faire me connecter en telnet mais une fois dans le serveur le script ferme la connection et je ne parviens pas à travailler dedans.
Voici le script : #!/bin/sh
sleep 1
echo "login"
sleep 1
echo "mdp"
sleep 2
et voici la commande : ./script.sh  | telnet adresse_serveur
Comment faire pour stopper le script afin que je puisse travailler dans le serveur?
Merci

#2 Le 20/08/2008, à 10:26

Astidiel

Re : script shell pour telnet

Tout a fait logique, tu utilise un pipe | pour rediriger la sortie standard de ton script (soit "login" puis "mdp") vers l'entrée standard de telnet.

Ainsi,  telnet prend en entrée uniquement ce que renvoie ton script, une fois que celui ci fini, telnet considère que la connexion est fini.

A ma connaissance tu ne peut pas prendre la main sur la connexion telnet avec une connexion initié de cette façon


Celui qui reçoit une idée de moi reçoit un savoir sans diminuer le mien, tout comme celui qui allume sa bougie à la mienne reçoit la lumière sans me plonger dans la pénombre. Thomas Jefferson

Hors ligne

#3 Le 20/08/2008, à 10:29

Totor

Re : script shell pour telnet

Passe au ssh. Tu pourras te connecter automatiquement et garder la main sur la session ouverte.


-- Lucid Lynx --

Hors ligne

#4 Le 20/08/2008, à 10:30

carmelo_08

Re : script shell pour telnet

Je débute en programmation shell.
Mon but est de me faciliter la vie
Lorsque je dois me loguer sur un serveur, je dois taper une longue adresse et celle-ci change en fonction des différents serveur. J'aurais voulu automatiser 3 choses :
telnet nom_serveur
login
mot de passe
Comment y parvenir au moyen d'un script ?
Merci d'avance

#5 Le 20/08/2008, à 10:33

carmelo_08

Re : script shell pour telnet

Pour le ssh, je ne peux pas choisir le mode de connection, telnet m'est imposé.

#6 Le 20/08/2008, à 10:58

Totor

Re : script shell pour telnet

En telnet, c'est pas gagné, voire impossible !
Essaie avec les options -a (authentification automatique mais tout dépend du serveur) et -l <user> (pour spécifier l'utilisateur)

si ça ne marche pas ... y'a pas moyen !


-- Lucid Lynx --

Hors ligne

#7 Le 20/08/2008, à 11:18

trucutu

Re : script shell pour telnet

Salut,

J'ai un temps été confronté à ce problème avec rlogin :
lancer un script et avoir la main ensuite dans la nouvelle machine.

La seule option que j'ai trouvée est de créer des onglets dans konsole avec dcop et de faire des sendSession.
C'est pas le top, mais bon...


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#8 Le 27/08/2008, à 11:42

pasrichaz

Re : script shell pour telnet

Salut as-tu essayé expect:
personnellenent en ssh jutilise ceci tu peux l'adapter pour telnet:
je l'utilise pour recupérer des infos sur mon nslu2

 #!/bin/bash
#sudo apt-get install expect
HOST="xxx.xxx.xxx.xxx"
USER="xxxx"
PASS="xxxxxxx"
OUT="/tmp/logssh.log"

VAR=$(expect -c "
spawn ssh $USER@$HOST 
expect \"password:\"
send \"$PASS\r\"
expect \"\\\\$\"
send \"dmesg | grep warning\r\"
send \"df -h\r\"
send \"cat /proc/meminfo\r\"
send \"cat /proc/cpuinfo\r\"
expect -re \"$USER.*\"
send \"logout\"
")
echo "$VAR" > $OUT

a plus


Dell Dimension 9150 NVIDIA 9600GS 256M 4G DDR2  3.19 Dual intel
Ubuntu 9.10

J'ai découvert shebang! depuis plus d'erreurs!

Hors ligne