使用VMware SDK触发主机自定义Shell命令

时间:2019-01-28 11:26:13

标签: pyvmomi vmware-sdk

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

1 个答案:

答案 0 :(得分:0)

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

  1. 您需要确保为远程访问启用了SSH(默认情况下,EXSi服务器上可能禁用了SSH。可以通过SDK启用它)

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


我是一个名为vmwc(基于pyvmomi的高级VMware SDK客户端)的python软件包的作者。将其与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()