我需要一段将a.py文件上传至其他EC2实例上运行的代码
时间: 2024-05-05 17:15:49 浏览: 268
以下是一个Python脚本,可以将本地的a.py文件上传到目标EC2实例,并在目标EC2实例上运行它。
```python
import paramiko
# 目标EC2实例的IP地址和SSH密钥路径
host = '目标EC2实例的IP地址'
key_path = 'SSH密钥路径'
# 创建SSH客户端
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接目标EC2实例
client.connect(hostname=host, username='ec2-user', key_filename=key_path)
# 创建SFTP客户端
sftp = client.open_sftp()
# 上传a.py文件到目标EC2实例
sftp.put('a.py', '/home/ec2-user/a.py')
# 在目标EC2实例上运行a.py文件
stdin, stdout, stderr = client.exec_command('python /home/ec2-user/a.py')
# 输出a.py运行结果
print(stdout.read().decode())
# 关闭连接
sftp.close()
client.close()
```
在代码中,需要将目标EC2实例的IP地址和SSH密钥路径替换为实际的值。同时,需要确保本地存在a.py文件。
在运行代码之前,需要先安装paramiko模块,可以使用以下命令进行安装:
```
pip install paramiko
```
阅读全文