Ssh 流浪汉可以';无法连接到虚拟机

Ssh 流浪汉可以';无法连接到虚拟机,ssh,vagrant,virtualbox,Ssh,Vagrant,Virtualbox,EDIT6:提交了一个官方路径错误: 编辑5:当我执行流浪者销毁和流浪者升级时,一切都很容易。但是,当我关闭虚拟机并将其重新打开时(有一天你必须重新启动电脑),它将无法再次工作。创建VM时,vagrant up的序列或VirtualBox的序列存在错误。销毁和重建虚拟机不是选项,因为数据库迁移和所有操作至少需要约30分钟。无论哪种方式,都不要在WINDOWS 10上使用VAGRANT EDIT4:我降级到Virtual Box 5.0.0.10,修复了错误的路径问题,但是错误命令not in i

EDIT6:提交了一个官方路径错误:

编辑5:当我执行
流浪者销毁
流浪者升级
时,一切都很容易。但是,当我关闭虚拟机并将其重新打开时(有一天你必须重新启动电脑),它将无法再次工作。创建VM时,
vagrant up
的序列或VirtualBox的序列存在错误。销毁和重建虚拟机不是选项,因为数据库迁移和所有操作至少需要约30分钟。无论哪种方式,都不要在WINDOWS 10上使用VAGRANT

EDIT4:我降级到Virtual Box 5.0.0.10,修复了错误的路径问题,但是错误
命令not in installer
仍然存在

EDIT3:当我进入Wagrant up--debug时,我发现它循环运行。这是一致的

INFO subprocess: Starting process: ["C:/Program Files/Oracle/VirtualBox/VBoxManage.exe", "showvminfo", "8aaee3a3-806f-4
8ad-9928-91e2b7baba5d", "--machinereadable"]
然后它真的发生了

INFO subprocess: Command not in installer, restoring original environment...
到VM的路径使用正斜杠而不是反斜杠。这是虫子吗?有没有办法手动设置VM的路径?我已将
C:\Program Files\Oracle\VirtualBox
放在路径中

EDIT2:不要在WINDOWS 10上使用VAGRANT,它在许多方面都有缺陷,而且VM还没有针对win10进行优化,您将遇到许多无法解决的问题。也试过Hashicorp的Otto,也不起作用。撕裂

编辑:好的,所以当我进行
vagrant销毁
vagrant up
时,安装10分钟后,它就像一个魔咒一样工作。但是,在我重新启动电脑或以任何方式注销后,Vagrant无法连接到VM,既没有私钥,也没有登录/密码。那是虫子吗

当我启动vagrant时,VM正常启动,但vagrant无法连接。它所说的只是警告:远程连接断开。正在重试… 当我尝试通过
vagrant ssh
连接时,我只得到
ssh\u交换\u标识:read:Connection reset by peer
。当我检查虚拟机的GUI时,它正在等待登录,当我使用defult login/密码登录时,它正在按预期工作,因此问题一定是无法连接到虚拟机

我试过:

  • 检查我的电脑是否支持虚拟化并检查它是否已打开
  • 尝试使用密码而不是密钥连接
  • 配置网络适配器
  • 关闭防火墙
  • 清洁重新安装
  • 我正在Windows 10上使用Vagrant 1.8.1和VirtualBox 5.0.20。 这是我的流浪汉档案:

    VAGRANTFILE_API_VERSION = "2"
    
    Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    
      config.vm.box = "ubuntu/trusty64"
    
      config.vm.provider :virtualbox do |vb|
        vb.memory = 2048
        vb.gui = true
        vb.cpus = 2
      end
    
    
      config.vm.network :private_network, type: "dhcp"
      config.vbguest.auto_update = false
    
      config.ssh.insert_key = false
    
      config.vm.provision :shell, path: "bootstrap.sh"
    
    end
    
    [2016年6月17日编辑]
    应该使用Virtualbox 5.0.22解决此问题


    [以下原始答案]
    与我先前的回答相反,我现在不认为我遇到了与你在这里描述的相同的问题。然而,我仍然认为,你遇到了一个不同的变化的问题

    从Virtualbox开发收到的反馈中,我了解到Virtualbox 5.0.20包括对NAT转发规则的更改,以解决其他bug。当VM被保存并再次启动时,Virtualbox现在会移除网络电缆5秒钟。这将触发DHCP客户端请求新租约。然后,Virtualbox使用这些信息来推断IP地址,NAT应该可以工作

    在我的特殊情况下,我在Ubuntu16.04作为来宾虚拟机时遇到了这个问题,而在Ubuntu14.04中它可以工作。这向我表明,在Virtualbox断开电缆后,Ubuntu 14.04上的DHClient确实请求了新的租约,而Ubuntu 16.04则不是这样

    为了验证您是否遇到相同的问题,我想知道您是否可以运行下面的测试并让我知道

  • 登录到可信的VM控制台(即在前台运行VM时显示的控制台)
  • 安装“arping”(
    sudo-apt-get-y安装arping
  • 创建下面的脚本“sendARP.sh”

    #!/bin/bash
    
    IFACE=$(ifconfig | grep 'Link encap:Ethernet' | awk '{print $1}')
    IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')
    
    arping -c 1 -i $IFACE $IP
    
  • 使其成为可执行文件“chmod+x sendARP.sh”
  • 保存可靠的VM(
    vagrant suspend
  • 从保存状态启动您的可信VM(
    vagrant up
  • 登录到可信的VM控制台(即在前台运行VM时显示的控制台)
  • 运行脚本“sudo./sendARP.sh”
  • 测试是否可以通过SSH从远程位置/Virtualbox主机进行连接
  • 错误:


    这很难说,但是如果你仍然可以从虚拟机登录,我会这样做,并检查所有
    sshd
    配置,是否可以通过某些方式进行更改?从引导或您运行的任何其他命令;您是否可以尝试创建一个名为
    VBOX\u USER\u HOME
    的新环境变量,并将其指向您的虚拟机InstallGet VM 5.0.22和Vagrant 1.8.4,问题仍然存在。当我消灭流浪汉时,一切正常。当我游荡停下来然后又游荡起来时,没有机会。@MilošLukačka当你执行
    游荡暂停
    然后
    游荡起来
    ?是的,因为
    游荡暂停
    游荡暂停
    相同。我已将该问题作为错误路径错误提交@米洛舍卢卡卡好吧,这值得一试。无论如何,只是澄清一下,
    vagrant suspend
    vagrant halt
    +
    vagrant destroy
    不同
    vagrant suspend
    保存虚拟机的状态。因此,当您向上游荡时,虚拟机将继续它停止的位置。VM完全不知道它已停止的事实。