Python脚本,用于在主机中使用ssh和run命令访问主机

时间:2017-08-15 04:06:46

标签: python shell ssh

我正在尝试编写一个python脚本,允许我ssh到主机,运行curl命令,然后解析命令的输出。

我正在尝试像

这样的东西
os.system('ssh HOST')
os.system('curl ...')

但是,curl命令不会在服务器上执行。我进入服务器,但不再与python脚本连接。我需要能够执行curl命令并访问输出,以便我可以解析它。我有什么想法可以做到这一点?谢谢。

2 个答案:

答案 0 :(得分:0)

要访问您运行的任何命令的输出,请使用subprocess模块。它为您运行的os命令提供了很多控制。这是一段代码片段。

import subprocess
process_object = subprocess.Popen(['cat','myfile.txt'],stdout=subprocess.PIPE , stderr = subprocess.STDOUT) ;
output = process_object.stdout.read()

同样,您使用['ssh','HOST','argument2','argument3']进行实施。我不确定这是否可以修复你的卷曲没有执行问题。但它有助于获得输出。

答案 1 :(得分:0)

curl(1)命令ssh(1)中提供对ssh user@host curl somehost/somefile -o -的调用。使用python子进程模块获取结果。