0

我正在尝试使用 Python 自动执行 Netapp 存储中的一些常规任务。

由于我使用的是 Windows 机器和 Python,因此我需要执行一些任务来使用 ssh 会话连接存储并执行一些操作,并且我需要查看它的行为方式。例如,如果我们通过 ssh 连接 Linux 机器,如果我执行 ls 命令,我需要查看 ls 的输出。

为了实现这一点,我需要使用哪些工具..我在网上搜索了一些建议使用 paramiko 和 pexpect 但这些是使用连接 ssh 和执行任务的模块,但我们无法在终端上查看输出。

4

1 回答 1

1

使用并行 ssh 库:

from pssh import ParallelSSHClient
# See also private key examples in documentation
client = ParallelSSHClient(['netapp.host'], user=<user>,
                           password=<password>)
output = client.run_command(<cmd>)
for line in output['netapp.host'].stdout:
    print line

请参阅并行 ssh文档。它在引擎盖下使用 paramiko,因此在 Windows 上也可以正常工作。

stdin通道在输出中也可用于提供输入,例如 pexpect,请参阅 run_command 文档以获取示例。

作为奖励,客户端是并行的,可用于在任意数量的主机上运行命令。

当然,直接使用 paramiko 也是可能的,尽管需要更多的代码,parallel-ssh 会为您完成。

于 2017-03-30T16:43:49.157 回答