简体   繁体   English

ssh:连接到主机github.com端口22:将VM复制到另一台主机后,网络无法访问

[英]ssh: connect to host github.com port 22: Network is unreachable after copying VM to another host machine

I have just copied my Vagrant VM from one host machine to another. 我刚刚将Vagrant VM从一台主机复制到另一台主机。 Both machines are running Windows 7. 两台机器都运行Windows 7。

One the machine I copied the VM to I get the following error when attempting to access Github. 尝试访问Github时,我将VM复制到的机器上出现以下错误。

The repo definitely exists and I have the exact same Git config on the original machine. 该仓库肯定存在,并且我在原始机器上具有完全相同的Git配置。 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: 我可以ping Github,当我将URL更改为https时,得到以下信息:

[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 ? 首先 ,您是否验证了它不是来自新主机的网络问题,可以从新主机上的vm ping github吗?

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 其次 ,如果ssh有问题(并且您不是像我这样的网络专家,它可能是新主机上的防火墙问题...),则可以更改为使用https版本

run `git config --local -e`

you should have a section 你应该有一节

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

you can change that to 您可以将其更改为

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

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. 第三 ,确保两台主机上的vagrant版本相同(特别是如果一台主机运行vagrant 1.6而另一台主机运行1.7),则如果虚拟盒不同,则虚拟盒应该可以,但如果您使用虚拟盒的版本不同,则请更新GuestAdditions。

I resolved this issue by creating a new Virtual Box Host-Only Adapter in the Virtualbox settings, here: 我通过在以下Virtualbox设置中创建一个新的Virtual Box-Only Only Adapter解决了此问题:

在此处输入图片说明

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. 其次,正如FredericHenri在下面指出的那样-在我的原始主机(Win 7 PC)上,我正在运行Virtualbox 4.3.12,而在第二台主机(Win 7笔记本电脑)上,我正在运行Virtualbox 4.3.16-所以我也降级了第二台主机。这样就解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ssh:连接到主机 gitlab.com 端口 22:网络不可达 - ssh: connect to host gitlab.com port 22: Network is unreachable npm 安装错误:ssh:连接到主机 github.com 端口 22:连接超时 - npm install error: ssh: connect to host github.com port 22: Connection timed out ssh:连接到主机 github.com 端口 22:连接超时 - ssh: connect to host github.com port 22: Connection timed out 如何解决这个问题? ssh:连接到主机 github.com 端口 22:连接超时致命 - How to solve this? ssh: connect to host github.com port 22: Connection timed out fatal GitHub 错误 - “ssh:连接到主机 github.com 端口 22:操作超时致命:无法从远程存储库读取。” - GitHub Error - "ssh: connect to host github.com port 22: Operation timed out fatal: Could not read from remote repository." ssh:连接到主机 github.com 端口 22:连接超时致命:无法从远程存储库读取 - ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository Github 连接到主机 github.com 端口 22:操作超时 - Github connect to host github.com port 22: Operation timed out ssh:连接到主机example.com端口22:连接被拒绝 - ssh: connect to host example.com port 22: Connection refused 无法git clone,无法连接到github.com端口443:网络无法访问 - Unable to git clone , Failed to connect to github.com port 443: Network is unreachable ssh:连接到主机 gist.github.com 端口 22:操作超时致命:无法从远程存储库读取 - ssh: connect to host gist.github.com port 22: Operation timed out fatal: Could not read from remote repository
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM