Vagrant is a cool tool to easily provide virtual machines and it works perfectly fine under Linux. But as me at work, you might be in a situation where you have or want to run vagrant on a Windows machine. This is per-se not more complicated as under Linux even thought I struggled over some pitfalls.
> vagrant init ubuntu/yakketa64 ... > varant up ...
Per default the boxes are started headless so you might want to modify the created Vagrantfile and enable gui mode:
config.vm.provider "virtualbox" do |vb| vb.gui = true end
Once done, when you launch the box you will see your vm starting up until it provides you the login dialog. Now comes the question what is the username and password to be used. Looking at the log messages from vagrant you can see some hints:
> varant up ... default: SSH address: 127.0.0.1:2222 default: SSH username: ubuntu default: SSH auth method: password ...
So username is clear, but password? “ubuntu”? “vagrant”? I’ve tried several but none of them worked:
Searching around lead me to the conclusion that there the password was never revealed to public but user rather shall use ssh-key authentication. Well, the easiest way is obviously the vagrant up command but unfortunately this does not work under Windows as there is no ssh client shipped with it:
> vagrant ssh `ssh` executable not found in any directories in the %PATH% variable. Is an SSH client installed? Try installing Cygwin, MinGW or Git, all of which contain an SSH client. Or use your favorite SSH client with the following authentication information shown below: Host: 127.0.0.1 Port: 2222 Username: ubuntu Private key: D:/vagrant/ubuntu_16.10_x64_atlas/.vagrant/machines/default/virtualbox/private_key
So in order to use Vagrant ssh command you need to have an SSH client installed and the “PATH” environment variable set accordingly. I recommend to use the OpenSSH client which you can install by manually by downloading the installer at http://www.mls-software.com/opensshd.html or you can use a package manager like Chocolatey to achieve the task.
- Install ssh client
Upadate environment variable PATH to point to ssh-client binary
set PATH=%PATH%;" C:\Program Files\OpenSSH-Win64\"
- Set the
PATHpermanently as described at http://stackoverflow.com/questions/8358265/how-to-update-path-variable-permanently-from-cmd-windows
Finally now I actually can login into the Ubuntu box.
> vagrant ssh Welcome to Ubuntu 16.10 (GNU/Linux 4.8.0-49-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 0 packages can be updated. 0 updates are security updates. New release '17.04' available. Run 'do-release-upgrade' to upgrade to it. Last login: Tue Apr 25 12:20:23 2017 from 10.0.2.2 [email protected]:~$