amazonweb服务/Boto:通过本地主机上的SSH上传和执行远程python/bash脚本

amazonweb服务/Boto:通过本地主机上的SSH上传和执行远程python/bash脚本,python,ubuntu,ssh,amazon-web-services,boto,Python,Ubuntu,Ssh,Amazon Web Services,Boto,我能够启动Ubuntu EC2实例。是否有人尝试将脚本上传到远程Ubuntu EC2(超过1个)并在本地通过SSH执行脚本 主要目标是使用在localhost上编写的Python脚本自动化整个过程。有没有其他方法或Amazon api工具可以实现这一点?我建议使用api,它是为这类事情而设计的。这里,在远程AWS EC2 Python中执行的Paramiko代码: import paramiko sftp, transport= None, None, None try: if key

我能够启动Ubuntu EC2实例。是否有人尝试将脚本上传到远程Ubuntu EC2(超过1个)并在本地通过SSH执行脚本


主要目标是使用在localhost上编写的Python脚本自动化整个过程。有没有其他方法或Amazon api工具可以实现这一点?

我建议使用api,它是为这类事情而设计的。

这里,在远程AWS EC2 Python中执行的Paramiko代码:

import paramiko
sftp, transport= None, None,  None
try:
    if keyfilepath=='': keyfilepath= AWS_KEY_PEM
    if keyfiletype == 'DSA':  key = paramiko.DSSKey.from_private_key_file(keyfilepath)
    else:                     key = paramiko.RSAKey.from_private_key_file(keyfilepath)

    if contype== 'sftp' :
      transport = paramiko.Transport((host, port))
      transport.add_server_key(key)
      transport.connect(None, username,  pkey=key)
      sftp = paramiko.SFTPClient.from_transport(transport)
      if isprint : print('Root Directory :\n ', sftp.listdir())
      return sftp

except Exception as e:
    print('An error occurred creating client: %s: %s' % (e.__class__, e))
    if sftp is not None:      sftp.close()
    if transport is not None: transport.close()
    if ssh is not None: ssh.close()