Subeesh KK
Subeesh KK

Reputation: 69

How to do SSH key exchange between VMs via HEAT template (Not only between Control node and VMs)

I am newbie to openstack. I am creating a stack using HEAT template. In the yaml file I mentioned the key name as

parameters: # Common parameters
key_name: my-key-pair

After the stack is created, I am able to ssh to all VMs from my control node without password, successfully like this:

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

My requirement here is, similarly I need to do ssh between the VMs also. Just like I did between ControlNode and VMs, I wanted to do ssh without password from VM1 to VM2.

If I copy the pem file to VM1, then I can do ssh without password from this VM1 to other VMS like

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

But, is there a way that this can be accomplished during stack creation itself? So that, immediately after stack creation via heat template, I can ssh from any instance to other instances?

Can someone help please.

Thank You, Subeesh

Upvotes: 1

Views: 693

Answers (1)

Steve
Steve

Reputation: 401

You can do this without HEAT.

You should be able to make use of ssh agent forwarding.

steps:

Start the ssh-agent in the background.

eval "$(ssh-agent -s)"

Add your key to the agent

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

Then ssh into the first host, you should be able to jump between servers now.

The way of doing it with HEAT would be to place that pem file into the correct location on the created instances, this should be possible with the personality function

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

Upvotes: 1

Related Questions