我是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
答案 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”}}