如何在python中使用ssh登录后如何运行多个命令?

问题描述 投票:-2回答:1

我想通过如下所示的python脚本执行某些ssh命令序列,(并希望显示最后一条命令的输出)

ssh hostname
sudo su userdb
cd /some/path/
./script_file -D option

我已经尝试过subprocess.Popen(each_command_from_list)。

但是使用ssh连接到主机名后,它会卡住。

import subprocess

commands = ["ssh hostname", "sudo su userdb", "cd /some/path/", "./script_file -D option"]

for cmd in commands:
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
    proc_stdout = process.communicate()[0].strip()
    if cmd.startswith("./script_file"):
        print(proc_stdout)

我希望脚本应使用ssh连接到主机名,然后在该主机中运行命令,并应获得结果。

python shell ssh subprocess command
1个回答
-3
投票

建议您使用类似Paramiko的包装器来执行此操作。

示例用法-Perform commands over ssh with Python

为什么要投票?


-2
投票

建议您使用类似Paramiko的包装器来执行此操作。

示例用法-Perform commands over ssh with Python

为什么要投票?

© www.soinside.com 2019 - 2024. All rights reserved.