I have just copied my Vagrant VM from one host machine to another. Both machines are running Windows 7.
One the machine I copied the VM to I get the following error when attempting to access Github.
The repo definitely exists and I have the exact same Git config on the original machine. Why would this happen? The top SO answer for this error has no effect for me.
[vagrant@localhost /var/www/wrestlemaniamainevent]# git remote -v
origin git@github.com:crmpicco/wrestlemaniamainevent.git (fetch)
origin git@github.com:crmpicco/wrestlemaniamainevent.git (push)
[vagrant@localhost /var/www/wrestlemaniamainevent]# git fetch origin
ssh: connect to host github.com port 22: Network is unreachable
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
I can ping Github and when I change the URLs to https, I get this:
[vagrant@localhost /var/www/wrestlemaniamainevent]# ping github.com
PING github.com (192.30.252.129) 56(84) bytes of data.
64 bytes from 192.30.252.129: icmp_seq=23 ttl=51 time=112 ms
64 bytes from 192.30.252.129: icmp_seq=24 ttl=51 time=110 ms
64 bytes from 192.30.252.129: icmp_seq=25 ttl=51 time=112 ms
64 bytes from 192.30.252.129: icmp_seq=26 ttl=51 time=111 ms
64 bytes from 192.30.252.129: icmp_seq=27 ttl=51 time=112 ms
^C
--- github.com ping statistics ---
27 packets transmitted, 5 received, 81% packet loss, time 26010ms
rtt min/avg/max/mdev = 110.904/111.957/112.869/0.756 ms
[vagrant@localhost /var/www/wrestlemaniamainevent]# git fetch origin
fatal: unable to access 'https://github.com/crmpicco/wrestlemaniamainevent.git/': Failed connect to github.com:443; Network is unreachable
My Vagrantfile
unless Vagrant.has_plugin?("vagrant-host-shell")
raise 'vagrant-host-shell plugin is not installed!'
end
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
PRIVATE_NETWORK_IP = "10.0.0.200"
SERVER_NAME = "crmpicco.dev"
nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
config.ssh.forward_agent = true
config.vm.define "local", primary: true do |local|
nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
local.vm.network :forwarded_port, guest:4444, host:4444
local.vm.network :private_network, ip: PRIVATE_NETWORK_IP
local.vm.box = "crmpicco-centos7"
local.vm.box_url = "http://crmpicco.com/boxes/crmpicco.box"
# If you want to keep your code local and mount onto your VM, uncomment this.
#
# local.vm.synced_folder "./../www", "/var/www", id: "vagrant-root" , :nfs => nfs_setting,
# mount_options: ["sync,rsize=32768,wsize=32768,rw,proto=tcp"]
local.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 3072]
v.customize ["modifyvm", :id, "--cpus", 2]
v.customize ["modifyvm", :id, "--name", SERVER_NAME]
end
end
# If you want to keep your code local and mount onto your VM, comment this whole section
if nfs_setting
config.vm.provision :host_shell do |host_shell|
host_shell.inline = 'mkdir -p /Users/Shared/crmpicco'
end
config.vm.provision :host_shell, run: "always" do |host_shell|
host_shell.inline = "echo 'Waiting for NFS to be available, it can take a while'"
end
config.vm.provision :host_shell, run: "always" do |host_shell|
host_shell.inline = "sleep 30"
end
config.vm.provision :host_shell, run: "always" do |host_shell|
host_shell.inline = "mount -t nfs -o 'sync,rsize=32768,wsize=32768,rw' #{PRIVATE_NETWORK_IP}:/var/www/current /Users/Shared/crmpicco"
end
end
end
First, did you verify its not a network issue from the new host, can you ping github from the vm on the new host ?
Second, if ssh has an issue (and you're not much of a network guy like me - it could be firewall issue on the new host ...), you can change to use the https version
you should have a section
you can change that to
Third, make sure vagrant is same version on both host (specially if one host runs vagrant 1.6 and the other 1.7), virtual box should be ok if different but do update the GuestAdditions if you have different version with virtual box.
I resolved this issue by creating a new Virtual Box Host-Only Adapter in the Virtualbox settings, here:
The original one wasn't recognised, so I had to create a new one.
Secondly, as FredericHenri pointed out below - on my original host (Win 7 PC) I was running Virtualbox 4.3.12, whereas on the second host (Win 7 laptop) I was running Virtualbox 4.3.16 - so I downgraded the second host too and this resolved the issue.