Skip to content

Instantly share code, notes, and snippets.

@haf
Created May 31, 2012 14:19
Show Gist options
  • Save haf/2843680 to your computer and use it in GitHub Desktop.
Save haf/2843680 to your computer and use it in GitHub Desktop.
Get SSH working on Vagrant/Windows/Git

If you are using vagrant, you probably-statistically are using git. Make sure you have its binary folder on your path, because that path contains 'ssh.exe'.

Now, modify C:\vagrant\vagrant\embedded\lib\ruby\gems\1.9.1\gems\vagrant-1.0.3\lib\vagrant\ssh.rb to comment out the faulty Windows check and add a real SSH check:

# if Util::Platform.windows?
  # raise Errors::SSHUnavailableWindows, :host => ssh_info[:host],
                                       # :port => ssh_info[:port],
                                       # :username => ssh_info[:username],
                                       # :key_path => ssh_info[:private_key_path]
# end

which = Util::Platform.windows? ? "where ssh >NUL 2>&1" : "which ssh >/dev/null 2>&1"
raise Errors::SSHUnavailable if !Kernel.system(which)

Now you can do vagrant ssh. Happy camper again!

@api42
Copy link

api42 commented Sep 2, 2014

@gabrielhpugliese .. Thanks a lot !!!

@MorbetMacErp
Copy link

Answer from @gabrielhpugliese seems to be the best solution, works fine for me.

@phillijw
Copy link

Vagrant 1.6.5 has the file at: C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.6.5\lib\vagrant\util\ssh.rb

@DimitarVoynov
Copy link

Thanks phillijw!

@victorhtorres
Copy link

Hi guys,

I have installed vagrant 1.7.4 and VBox 5x and all was working well but after of update git 1.9.x to the last version 2.7.0 on windows and now the ssh is not working. I put the path variable and I changed the code like the example here but without result and I think the solution to change the ssh.rb is not the same for the last version on vagrant.

I appreciated any help. Thanks!

@jessev123
Copy link

Vagrant 1.8.1 file is moved yet again - C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.1\lib\vagrant\util

@nsawit
Copy link

nsawit commented Jan 28, 2016

please help, i'm just starting to learn Drupal 8. I'm stuck in running 'vagrant ssh' command. I'm still getting 'ssh executable not found in any direct SSH client installed? Try installing Cyg contain an SSH client. Or use your favor authentication information shown below:'. As I read comments above, one recommendation is to set the PATH to '%PATH%;C:\Program Files (x86)\Git\bin' .. However, I check the directory and I've noticed that there's no such ssh.exe file in any directory in my computer. So i was thinking I need to download and install that ssh.exe . I've searched on the internet and downloaded the one from Git.. Now that I've installed it and verified that ssh.exe is now existing in the directory , i've set the path but still stuck in the same error. :(

please refer to the attached screenshot
ssh

@julianfrank
Copy link

Try adding the path D:\Program Files\Git\usr\bin

@ITedInnovator
Copy link

Thanks Julian Frank but for me it was the C drive:
set PATH=%PATH%;C:\Program Files\Git\usr\bin

@victorhtorres
Copy link

The route C:\Program Files\Git\usr\bin works fine for me. The first solution should not be necessary.

@charlesaraya
Copy link

Adding C:\Program Files\Git\usr\bin worked for me too.

@SnehaSahu05
Copy link

..git\usr\bin works perfect, the previous solution ..git\bin is not needed as path variable.
thanks @rekestas

@sagaroe
Copy link

sagaroe commented Dec 29, 2016

Added "C:\Program Files\Git\usr\bin" in PATH and it worked for me. thanks :)

@jameszrx
Copy link

jameszrx commented Apr 9, 2017

Git\usr\bin works for me too! Excellent solution! Thanks a lot!

@karan1276
Copy link

Yup "C:\Program Files\Git\usr\bin" works, Thanks :)

@cancerberoSgx
Copy link

In my case even adding ssh to the PATH didn't solve the problem. What I had to do is connect to vagrant with ssh manually. After executing vagrant up, instead of executing vagrant ssh, I do this:

ssh vagrant@127.0.0.1 -p 2222
And the password is "vagrant"

For getting all the information about the ip, port and user you can use

vagrant ssh-config
Ope this helps somebody...

@marcosronaldo
Copy link

@cancerberoSgx Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment