python – 为EC2配置织物
发布时间:2020-12-16 23:27:22 所属栏目:Python 来源:网络整理
导读:我正在尝试创建一个fabfile.py,以便我可以在EC2上部署.我的fabfile.py中有以下内容: from __future__ import with_statementfrom fabric.api import *def ec2(): env.hosts = ['111.111.111.111'] env.user = 'ubuntu' env.key_filename = '/path/to/my/pem
我正在尝试创建一个fabfile.py,以便我可以在EC2上部署.我的fabfile.py中有以下内容:
from __future__ import with_statement from fabric.api import * def ec2(): env.hosts = ['111.111.111.111'] env.user = 'ubuntu' env.key_filename = '/path/to/my/pem/key.pem' def run_ls(): run('ls -alt') ‘111.111.111.111’是我的实例的弹性ip,我总是用ubuntu登录,而不是root. fab ec2 run_ls 我看到以下输出: [111.111.111.111] Executing task 'run_ls' [111.111.111.111] run: ls -alt Fatal error: Host key for 111.111.111.111 did not match pre-existing key! Server's key was changed recently,or possible man-in-the-middle attack. Aborting. 不知道发生了什么,但是我看不到在ec2上使用fabric的好教程,我不知道这是可能的. 谢谢 更新: 好像 env.hosts = ['111.111.111.111'] 无效,您需要使用实际的URL env.hosts = ['mywebsite.com'] 这固定了我的问题 解决方法
确保您的弹性IP连接到实例.我认为key_filename需要一个参数,但是当我传递数组时,我的工作正常
env.user = "ubuntu" env.key_filename = ["my_key.pem",] 也许您应该尝试使用您的实例的公共主机名,如: env.roledefs.update({ 'prod': ['ec2-52-14-72-225.us-west-1.compute.amazonaws.com'],}) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |