【问题标题】:ssh through python onto amazon ec2通过 python SSH 到亚马逊 ec2
【发布时间】:2013-06-25 11:44:31
【问题描述】:

我有两个数据库,一个在我的本地机器上,一个在我的亚马逊 ec2 实例上。现在我 做的是我在我的本地机器上运行一个 python 程序,它对我本地机器上的数据库进行更改。我希望这些更改反映到亚马逊 ec2 实例上的数据库中, 定期。我想在 python 中执行此操作。登录到亚马逊服务器的脚本与那里的数据库建立连接并进行更改。
我遇到了一些模块,如pexceptfabricparamiko。但我正在努力解决 密钥认证。
我从终端 ssh 的方式是ssh -i my_rsa_file.pem username@ip_address。没有密码。我该怎么做? 另外我想知道在subprocess中简单地使用Popen来执行登录命令是否有效?

【问题讨论】:

标签: python-2.7 ssh


【解决方案1】:

此处的 Boto EC2 文档描述了 EC2 实例对象,其中“key_pair”是一个属性。在“boto.ec2.instance”下查看大约 3/4 的位置。

http://boto.readthedocs.org/en/latest/ref/ec2.html

因此,例如,您可以按如下方式运行一些实例,然后将第一个实例存储为“inst”:

reservation = conn.run_instances(...)
inst = reservation.instances[0]

要将您的密钥对名称检索为 unicode 字符串,只需使用:

kp_name = inst.key_name

然后您可以使用 get_key_pair 检索相应的 Boto 对象:

kp_obj = conn.get_key_pair(kp_name)

当然,这是一个愚蠢的例子,因为我首先需要我的密钥对名称来运行_instances。愿你找到更丰硕的应用!

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 2016-04-27
    • 1970-01-01
    • 2013-01-03
    • 2012-07-24
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    相关资源
    最近更新 更多