2015-09-10 3 views
1

Я только что скопировал свою Vagrant VM с одной главной машины на другую. Обе машины работают под управлением Windows 7.ssh: подключиться к хосту github.com port 22: Сеть недоступна после копирования VM на другую хост-машину

Один из компьютеров, на который я скопировал виртуальную машину, получил следующую ошибку при попытке получить доступ к Github.

Репо определенно существует, и у меня есть точная конфигурация Git на оригинальной машине. Почему это произойдет? Верхний SO-ответ для этой ошибки не влияет на меня.

[[email protected] /var/www/wrestlemaniamainevent]# git remote -v 
origin [email protected]:crmpicco/wrestlemaniamainevent.git (fetch) 
origin [email protected]:crmpicco/wrestlemaniamainevent.git (push) 

[[email protected] /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. 

Я могу свистеть Github и когда я изменить URL-адреса для протокола HTTPS, я получаю это:

[[email protected] /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 
[[email protected] /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 

Мой 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 

ответ

0

Я решил эту проблему путем создания нового виртуального Box хост-адаптер только в настройках VirtualBox, здесь:

enter image description here

оригинальный один не был признан, так что мне пришлось создать новую ,

Во-вторых, как указал Фредерик Хенри ниже - на моем исходном хосте (Win 7 PC) я запускал Virtualbox 4.3.12, тогда как на втором хосте (ноутбук Win 7) я запускал Virtualbox 4.3.16 - поэтому я понизил рейтинг второй хозяин тоже, и это решило проблему.

+0

хорошо, я думаю, он исправил [другую проблему] (http://stackoverflow.com/questions/32507924/unable-vagrant-up-vagrant-vm-after-copying-over-from-another-host) тоже? –

+0

@FredericHenri У него была куча близких голосов, поэтому я просто удалил его. – crmpicco

1

Первый, вы проверить его не сетевой проблемы с нового хоста, можете ли вы ping github из vm на новом хосте?

Второй, если SSH имеет проблемы (и вы не много сети парня как я - это может быть вопросом брандмауэра на новый хост ...), вы можете изменить, чтобы использовать версию протокола HTTPS

run `git config --local -e` 

вы должны иметь раздел

[remote "origin"] 
    url = [email protected]:crmpicco/wrestlemaniamainevent.git 

вы можете изменить, что

[remote "origin"] 
    url = https://github.com/crmpicco/wrestlemaniamainevent.git 

Третий, убедитесь, что брандмауэр является той же версией на обоих хостах (особенно если один хост запускает vagrant 1.6, а другой 1.7), виртуальный ящик должен быть в порядке, если он отличается, но обновлять GuestAdditions, если у вас есть другая версия с виртуальным полем.

+0

Спасибо за ваш ответ. Да, я пытался временно отключить брандмауэр Windows 7, чтобы убедиться, что это была ситуация блокировки брандмауэра. Я также ранее пытался переходить на использование HTTPS, но я получаю ошибку в моем обновленном вопросе. Есть идеи? – crmpicco

+0

У вас есть прокси-сервер? ping может тестировать только порт 80, но он подключается к порту 443 для https, 'rot https: // github.com' возвращает html-страницу gihub? –

+0

@FedericHenri Нет, я не могу скрутить этот URL. Я могу сделать ping crmpicco.co.uk', однако 'wget http: // www.crmpicco.co.uk' возвращает' Подключение к www.crmpicco.co.uk (www.crmpicco.co.uk) | 83.125. 22.146 |: 80 ... не удалось: сеть недоступна. Я этого не понимаю? – crmpicco

Смежные вопросы