Hello there

so are different things here at play.

One is Vagrant is a tool that help you to do stuff, but what to do, or how
to do it, requires the knowledge.

I will explain from the basics, in case other people came here in the
future.

When you have a multi machine Vagrant file, the Vms are independent, and
you have lots of moving parts and the VMs don't know each other, etc.

using names intead of ip, requires name resolution, so your Vagrantfile can
use a script to populate the /etc/hosts
then to be able to ssh into, requires both machines (or more machines) to
have a public/private key and allow access to those private keys.


Here is a working Vagrantifle i have just did that have all what you want
to do, feel free to copy/edit
feel free to ask questions too:


gist:
https://gist.github.com/kikitux/86a0bd7b78dca9b05600264d7543c40d






numnodes=2
baseip="192.168.10"

#global script
$global = <<SCRIPT

#check for private key for vm-vm comm
[ -f /vagrant/id_rsa ] || {
  ssh-keygen -t rsa -f /vagrant/id_rsa -q -N ''
}

#deploy key
[ -f /home/vagrant/.ssh/id_rsa ] || {
    cp /vagrant/id_rsa /home/vagrant/.ssh/id_rsa
    chmod 0600 /home/vagrant/.ssh/id_rsa
}

#allow ssh passwordless
grep 'vagrant@node' ~/.ssh/authorized_keys &>/dev/null || {
  cat /vagrant/id_rsa.pub >> ~/.ssh/authorized_keys
  chmod 0600 ~/.ssh/authorized_keys
}

#exclude node* from host checking
cat > ~/.ssh/config <<EOF
Host node*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null
EOF

#populate /etc/hosts
for x in {11..#{10+numnodes}}; do
  grep #{baseip}.${x} /etc/hosts &>/dev/null || {
      echo #{baseip}.${x} node${x##?} | sudo tee -a /etc/hosts &>/dev/null
  }
done

#end script
SCRIPT

Vagrant.configure("2") do |config|
  config.vm.provision "shell", privileged: false, inline: $global
  prefix="node"
  #node box
  (1..numnodes).each do |i|
    vm_name = "#{prefix}#{i}"
    config.vm.define vm_name do |node|
      node.vm.box = "hashicorp/precise64"
      node.vm.hostname = vm_name
      ip="#{baseip}.#{10+i}"
      node.vm.network "private_network", ip: ip
    end
  end
end






On Tue, Oct 31, 2017 at 8:49 AM, LIRAN Y <lira...@gmail.com> wrote:

> Hi Alvaro
> 10x for your replay
>
> i tried to enter this in the
> etc/host/
> 192.168.100.11 server2
> Do i need some restart?
>
> still it ask me for pw:
>
> $ vagrant ssh server1
> Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
>
>  * Documentation:  https://help.ubuntu.com/
> Welcome to your Vagrant-built virtual machine.
> Last login: Sun Oct 29 21:07:27 2017 from 10.0.2.2
> vagrant@server1:~$ ssh server2
> vagrant@server2's password:
>
>
> On Monday, October 30, 2017 at 10:25:58 AM UTC+2, Alvaro Miranda Aguilera
> wrote:
>>
>> Hello
>>
>> the easiest way is to add a entry into /etc/hosts with other server ip
>> name
>>
>> you can use the same shell script for this.
>>
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>  Virusvrij.
>> www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>> <#m_1359795244664392617_CAHqq0ewyrBe5AF_-+-fLkdeq+osHiYzrHshgR0J7GwczWhzLKA@mail.gmail.com_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> On Sun, Oct 29, 2017 at 6:57 PM, LIRAN Y <lir...@gmail.com> wrote:
>>
>>> I would like to ssh between the servers using their names rather than
>>> their ips.
>>>
>>> for example
>>>
>>> in order to test this, run i need to vagrant ssh server1 and from their
>>> i should be able to run ssh server2 to the second server.
>>>
>>>
>>> i have the vagrantfile configure that way:
>>> servers=[
>>>
>>>
>>>
>>> {
>>>
>>>   :hostname => "server1",
>>>
>>>   :ip => "192.168.100.10",
>>>
>>>   :box => "hashicorp/precise64",
>>>
>>>   :ram => 512,
>>>
>>>   :cpu => 1,
>>>
>>>
>>>
>>>
>>> },
>>>
>>> {
>>>
>>>   :hostname => "server2",
>>>
>>>   :ip => "192.168.100.11",
>>>
>>>   :box => "hashicorp/precise64",
>>>
>>>   :ram => 512,
>>>
>>>   :cpu => 1,
>>>
>>> }
>>>
>>>
>>> ]
>>>
>>>
>>>
>>>
>>> Vagrant.configure(2) do |config|
>>>
>>>   servers.each do |machine|
>>>
>>>     config.vm.define machine[:hostname] do |node|
>>>
>>>         machine [:provisions].each do |script|
>>>
>>>            node.vm.provision :shell, :path => script
>>>
>>>         end
>>>
>>>       node.vm.box = machine[:box]
>>>
>>>       node.vm.hostname = machine[:hostname]
>>>
>>>       node.vm.network "private_network", ip: machine[:ip]
>>>
>>>       node.vm.provider "virtualbox" do |vb|
>>>
>>>         vb.memory = machine[:ram]
>>>
>>>         vb.cpus = machine[:cpu]
>>>
>>>       end
>>>
>>>     end
>>>
>>>   end
>>>
>>> end
>>>
>>>
>>> i tried to enter the server 1 by vagrant ssh server1
>>>
>>> and there i did ssh server2 but it ask me for a password?
>>>
>>> how can i enter without password?
>>>
>>>
>>> 10x
>>>
>>> --
>>> This mailing list is governed under the HashiCorp Community Guidelines -
>>> https://www.hashicorp.com/community-guidelines.html. Behavior in
>>> violation of those guidelines may result in your removal from this mailing
>>> list.
>>>
>>> GitHub Issues: https://github.com/mitchellh/vagrant/issues
>>> IRC: #vagrant on Freenode
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Vagrant" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to vagrant-up+...@googlegroups.com.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/vagrant-up/c7500ffd-e168-4987-b1f1-16aca8219ded%40googlegroups.com
>>> <https://groups.google.com/d/msgid/vagrant-up/c7500ffd-e168-4987-b1f1-16aca8219ded%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Alvaro
>>
>> --
> This mailing list is governed under the HashiCorp Community Guidelines -
> https://www.hashicorp.com/community-guidelines.html. Behavior in
> violation of those guidelines may result in your removal from this mailing
> list.
>
> GitHub Issues: https://github.com/mitchellh/vagrant/issues
> IRC: #vagrant on Freenode
> ---
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vagrant-up+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/vagrant-up/a8a85dc1-0b98-4f12-b5a6-aac402a3733b%40googlegroups.com
> <https://groups.google.com/d/msgid/vagrant-up/a8a85dc1-0b98-4f12-b5a6-aac402a3733b%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Alvaro

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vagrant-up+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vagrant-up/CAHqq0ezYXyuw1O%3D7NG1syR%3Dj866qtegeL45FJ7A1kUr4Jc8QCg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to