如何通过HEAT模板在VM之间进行SSH密钥交换(不仅在控制节点和VM之间)

时间:2018-04-24 05:31:01

标签: openstack ssh-keys

我是openstack的新手。我正在使用HEAT模板创建一个堆栈。在yaml文件中,我提到了键名为

  

参数:#公共参数
  key_name:my-key-pair

创建堆栈后,我能够从我的控制节点ssh到所有没有密码的虚拟机,成功如下:

  

ssh -i /root/my-key-pair.pem   用户@ instanceip

我的要求是,同样我需要在VM之间进行ssh。就像我在ControlNode和VM之间做的那样,我想在没有密码的情况下从VM1到VM2进行ssh。

如果我将pem文件复制到VM1,那么我可以在没有密码的情况下从此VM1执行ssh到其他VMS,如

  

ssh -i /VM1-home/my-key-pair.pem   用户@ otherinstanceip

但是,有没有办法在堆栈创建过程中实现这一点?那么,在通过热模板创建堆栈之后,我可以从任何实例ssh到其他实例吗?

有人可以帮忙吗。

谢谢你, Subeesh

1 个答案:

答案 0 :(得分:1)

你可以在没有HEAT的情况下做到这一点。

您应该能够使用ssh代理转发。

步骤进行:

在后台启动ssh-agent。

eval“$(ssh-agent -s)”

将您的密钥添加到代理商

ssh-add /root/my-key-pair.pem

然后ssh进入第一个主机,你现在应该能够在服务器之间跳转。

使用HEAT执行此操作的方法是将pem文件放置在创建的实例上的正确位置,这应该可以通过个性函数来实现

personality:{“/ root / my-key-pair.pem”:{get_file:“pathtopemfilelocaly”}}