Exécuter une commande sur la machine distante à l'aide de telnet sur une seule ligne
Je voudrais exécuter une commande sur une machine distante en utilisant telnet comme,
telnet x.x.x.commande de x ou similaire
Je veux l'inclure comme partie d'un script en Python ( sous-processus ), et doivent donc dans une ligne. Ou, y a t-il d'autres façons de faire la même chose?
Toute aide est appréciée.
Grâce.
Est-ce utile? Pour envoyer des données dans le processus de stdin, vous devez créer le Popen objet avec stdin=PIPE. docs.python.org/library/subprocess.html#popen-objects
Oui, vous pouvez utiliser les deux
Oui, vous pouvez utiliser les deux
stdin
et stdout
de communiquer avec un Telnet binaire. Mais pourquoi ne pas simplement utiliser telnetlib
au lieu de cela, comme je l'ai suggéré?OriginalL'auteur shruthi | 2012-04-23
Vous devez vous connecter pour publier un commentaire.
Plutôt que de compter sur
subprocess
, vous pouvez essayer de Python intégré danstelnetlib
à la place.Un exemple complet qui n'a presque exactement ce que vous voulez est disponible comme un exemple dans la documentation: http://docs.python.org/library/telnetlib.html#telnet-example
Je serais personnellement aussi voir si SSH est disponible sur le système cible. Non seulement vous être en utilisant une connexion sécurisée, mais vous pouvez également configurer des clés SSH et utiliser SSH intégré de soutien pour l'exécution d'une commande unique (par exemple,
ssh [email protected] ls -l
).OriginalL'auteur zigg
http://empty.sourceforge.net/
OriginalL'auteur Gustik
Peut-être cette solution sera utile, mais là, il ne fonctionnera pas dans le cas où vous avez besoin user/mot de passe d'authentification.
Pour sauter manuel d'utilisateur/mot de passe de l'authentification, de la configuration des clés ssh est le chemin à parcourir. Il y a une petite explication à ce sujet ici: SSH à un serveur sans mot de passe pour Admin Facilité
OriginalL'auteur E.Z.