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

Openstack 如何通过HEAT模板在虚拟机之间进行SSH密钥交换(不仅仅是在控制节点和虚拟机之间),openstack,ssh-keys,Openstack,Ssh Keys,我是openstack的新手。我正在使用热模板创建一个堆栈。在yaml文件中,我提到了密钥名 参数:#常用参数 钥匙名称:我的钥匙对 在创建堆栈之后,我能够从我的控制节点通过ssh连接到所有VM,而无需密码,成功地如下所示: ssh-i/root/my-key-pair.pem user@instanceip 这里我的要求是,类似地,我还需要在VM之间执行ssh。就像我在ControlNode和VMs之间所做的那样,我希望在VM1到VM2之间进行ssh,而不使用密码 如果我将pem文件复制到VM

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

参数:#常用参数
钥匙名称:我的钥匙对

在创建堆栈之后,我能够从我的控制节点通过ssh连接到所有VM,而无需密码,成功地如下所示:

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

这里我的要求是,类似地,我还需要在VM之间执行ssh。就像我在ControlNode和VMs之间所做的那样,我希望在VM1到VM2之间进行ssh,而不使用密码

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

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

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

有人能帮忙吗

谢谢,,
Subeesh

您可以在不加热的情况下完成此操作

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

步骤:

在后台启动ssh代理

eval“$(ssh代理-s)”

将您的密钥添加到代理

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

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

使用HEAT的方法是将pem文件放在创建的实例上的正确位置,这应该可以通过个性化功能实现

个性:{“/root/my key pair.pem”:{get_file:“pathtopemfilelocaly”}