28

任何人都有任何显示如何使用 pem 文件连接到 EC2 的 Fabric 配方?

我尝试用这种方式编写它: Python Fabric run command returns "binascii.Error: Incorrect padding"

但是当我执行该run()函数时,我遇到了一些编码问题。

4

3 回答 3

42

要使用 pem 文件,我一般将 pem 添加到 ssh 代理,然后简单地引用用户名和主机:

ssh-add ~/.ssh/ec2key.pem
fab -H ubuntu@ec2-host deploy

或指定环境信息(不带密钥),如您链接到的示例:

env.user = 'ubuntu'
env.hosts = [
    'ec2-host'
]

并正常运行:

fab deploy
于 2011-02-21T23:17:28.937 回答
35

如果不解决您的编码问题,您可能会将您的 EC2 内容放入 ssh 配置文件中:

  • ~/.ssh/config

或者,如果是全局的:

  • /etc/ssh_config

在那里您可以指定您的主机、IP 地址、用户、识别文件等,所以这很简单:

ssh myhost

例子:

Host myhost
  User ubuntu
  HostName 174.129.254.215
  IdentityFile ~/.ssh/mykey.pem

更多细节:man ssh_config

于 2011-02-21T22:09:45.893 回答
11

您可以做的另一件事是在 env 变量中设置 key_filename: https ://stackoverflow.com/a/5327496/1729558

于 2012-10-08T17:26:02.347 回答