Execute a command on remote machine using telnet in a single line

14,200

Solution 1

Rather than relying on subprocess, you could try Python's built-in telnetlib instead.

A complete example that does almost exactly what you want is available as an example in the documentation: http://docs.python.org/library/telnetlib.html#telnet-example

I would personally also see if SSH is available on the target system. Not only will you be using a secure connection, but you can also set up SSH keys and use SSH's built-in support for executing a single command (e.g. ssh [email protected] ls -l).

Solution 2

#!/bin/sh
empty -f -i in -o out telnet foo.bar.com
empty -w -i out -o in "ogin:" "luser\n"
empty -w -i out -o in "assword:" "TopSecret\n"
empty -s -o in "who am i\n"
empty -s -o in "exit\n"

http://empty.sourceforge.net/

Share:
14,200
shruthi
Author by

shruthi

Updated on June 04, 2022

Comments

  • shruthi
    shruthi almost 2 years

    I would like to execute a command on a remote machine using telnet as,

    telnet x.x.x.x command or similar

    I want to include this as part of a script in Python ( subprocess ) and hence need it in one line. Or, are there any other ways to do the same?

    Any help is appreciated.

    Thanks.