Pages : 1
#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
Pages : 1