Telnet à l'intérieur d'un script shell
Comment puis-je exécuter telnet à l'intérieur d'un script shell à exécuter des commandes sur le serveur distant?
Je n'ai pas s'attendre installé sur mon ordinateur solaris pour des raisons de sécurité.
Je n'aime pas le perl net::telnet
module installé.
Donc, avec l'aide d'attendre et perl comment puis-je le faire?
J'ai essayé le dessous de chose mais sa ne fonctionne pas.
#!/usr/bin/sh
telnet 172.16.69.116 <<!
user
password
ls
exit
!
Quand je l'exécuter, c'est ce que j'obtiens:
> cat tel.sh
telnet 172.16.69.116 <<EOF
xxxxxx
xxxxxxxxx
ls
exit
EOF
> tel.sh
Trying 172.16.69.116...
Connected to 172.16.69.116.
Escape character is '^]'.
Connection to 172.16.69.116 closed by foreign host.
>
- Vous dites "sa ne fonctionne pas", mais comment est-il pas de travail? Ne vous obtenez des messages d'erreur? Ce qui se passe?
- Vous ne trouvez pas ironique, c'est que vous n'avez pas certaines choses installé pour des raisons de sécurité, mais vous êtes à l'aide de telnet au lieu de ssh?
Vous devez vous connecter pour publier un commentaire.
Certains de vos commandes peuvent être ignorées. Vous pouvez obtenir plus de contrôle ordinaire script constructions et ensuite envoyer les commandes par l'intermédiaire d'un tuyau avec
echo
. Groupe de la liste de commandes pour faire une "session":-nc
(Netcat) qui est moins arcanes detelnet
qui a été clairement conçu pour un usage interactif exclusivement.J'ai eu le même problème...cependant, au moins dans mon environnement, il s'est avéré être le Certificat SSL sur le serveur de destination a été endommagé et le serveur de l'équipe a pris soin de la question.
Maintenant, ce que je suis en train de faire est de savoir comment obtenir un script à exécuter exactement la même chose que vous faites ci-dessus, sauf que je le veux pour vider exactement le même scénario ci-dessus dans un fichier et puis quand il tombe sur un serveur auquel il se connecte en fait, je le veux pour fournir le caractère d'échappement (^]) et d'aller sur le serveur suivant.