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