我正在尝试使用python脚本自动化从生产转储创建postgres数据库的过程。我在承载RoR应用服务器的EC2实例上运行此脚本。
我可以使用psychopg创建数据库。但是在同一个脚本中我想做以下事情:
- do a deploy using capistrano from local machine
我在研究中遇到了paramiko - SSHClient。我认为它可以使用。但我不确定如何从EC2实例SSH到本地计算机。
我发现了我的IP(比如a.b.c.d)并尝试了来自EC2实例的ssh a.b.c.d
,但它说:
ssh: connect to host a.b.c.d port 22: Connection refused
所以我的问题是: - 如果此方法(使用paramiko)正确,如何设置从EC2实例到本地计算机的ssh连接 要么 如果paramiko无法实现这一点,我如何从EC2实例上的脚本运行部署
答案 0 :(得分:1)
首先,paramiko有点低级,你可以尝试使用Fabric,它会让很多东西变得更容易。
其次,检查您的本地机器是否
ps -ef | grep sshd
,
如果你看到一个进程匹配,那么你应该可以连接)然后,如果您想在 EC2实例上自动创建postgres数据库,为什么还需要从它连接到本地计算机。扭转这一进程不是更合乎逻辑吗?即SSH 从本地计算机到EC2实例。