我正在寻找一种使用VMware Web Service SDK在连接到vCenter的所有ESXi主机上运行自定义shell命令的方法,例如pypymi
答案 0 :(得分:0)
我在这里看到2个主要构建块:
您需要确保为远程访问启用了SSH(默认情况下,EXSi服务器上可能禁用了SSH。可以通过SDK启用它)
您需要一个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()