使用 Fabric 或 Boto ssh 进入 AWS 实例和 运行 Shell 命令的简单方法
Simple way of using Fabric or Boto to ssh into an AWS instance and run Shell commands
您好,我正在关注 This Tutorial on running shell commands with EC2 instances but I later tried This Method(第一个回答)。
还是不行。首先我得到错误
意外的关键字参数 keypath
然后报错
'Reservation' 对象没有属性 dns_name
所以现在我真的很困惑。我已将实例假脱机,并且还使用了正确的实例 ID。
如果有在 AWS 实例上 运行 shell 命令的直观方法,我想知道。我已经设置了我的帐户和密钥,并且我通过 CLI 使用了 运行 shell 命令,但我想自动执行该过程。织物被证明是一个挑战。
我为您提到的第二种方法提供的示例代码中实际上存在一个错误。我已经更正了示例代码,但基本上您需要更改此代码:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0]
对此:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0].instances[0]
感谢您发现问题。我很惊讶之前没有人提到它。
您好,我正在关注 This Tutorial on running shell commands with EC2 instances but I later tried This Method(第一个回答)。
还是不行。首先我得到错误 意外的关键字参数 keypath
然后报错 'Reservation' 对象没有属性 dns_name
所以现在我真的很困惑。我已将实例假脱机,并且还使用了正确的实例 ID。
如果有在 AWS 实例上 运行 shell 命令的直观方法,我想知道。我已经设置了我的帐户和密钥,并且我通过 CLI 使用了 运行 shell 命令,但我想自动执行该过程。织物被证明是一个挑战。
我为您提到的第二种方法提供的示例代码中实际上存在一个错误。我已经更正了示例代码,但基本上您需要更改此代码:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0]
对此:
# Find the instance object related to my instanceId
instance = conn.get_all_instances(['i-12345678'])[0].instances[0]
感谢您发现问题。我很惊讶之前没有人提到它。