在一行中使用telnet在远程计算机上执行命令

时间:2012-04-23 12:40:29

标签: python command telnet

我想使用telnet as

在远程计算机上执行命令

telnet x.x.x.x命令或类似的

我希望将它作为Python(子进程)中脚本的一部分包含在内,因此需要在一行中使用它。或者,还有其他方法可以做同样的事情吗?

感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用Python的内置telnetlib,而不是依赖subprocess

完整的示例几乎完全符合您的要求,可作为文档中的示例:http://docs.python.org/library/telnetlib.html#telnet-example

我个人也会看到目标系统上是否有SSH可用。您不仅可以使用安全连接,还可以设置SSH密钥并使用SSH的内置支持来执行单个命令(例如ssh user@example.com ls -l)。

答案 1 :(得分:1)

#!/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/

答案 2 :(得分:0)

也许this解决方案会很有用,但正如那里所述,如果您需要用户/密码验证,它将不起作用。

为了跳过手动用户/密码验证,设置ssh密钥是可行的方法。这里有一个简短的解释:SSH to a server without password for Admin Ease