2

我正在寻找一种使用 VMware Web 服务 SDK(例如 Pyvmomi)在连接到 vCenter 的所有 ESXi 主机上运行自定义 shell 命令的方法

4

1 回答 1

0

我在这里看到 2 个主要构建块:

  1. 您需要确保启用 SSH 以进行远程访问(EXSi 服务器上可能默认禁用它。启用它可以通过 SDK 完成)

  2. 您需要一个 python SSH 客户端来通过 SSH 连接并执行远程命令


我是一个名为vmwc(基于pyvmomi. 将它与 SSH 库结合起来,paramiko将为您提供一个简单的解决方案。

安装

pip install vmwc paramiko 

用法:

#!/usr/bin/env python

from vmwc import VMWareClient
import paramiko


def main():
    host = '192.168.1.1'
    username = '<username>'
    password = '<password>'
    remote_ssh_command = 'touch /tmp/hello-world' # Your remote command

    with VMWareClient(host, username, password) as client:
        client.enable_ssh()

        ssh = paramiko.SSHClient()
        ssh.connect(host, username=username, password=password)
        ssh.exec_command(remote_ssh_command)

        client.disable_ssh() # optional in case you want to close the ssh access


if __name__ == '__main__':
    main()
于 2019-02-12T05:22:24.863 回答