gpt4 book ai didi

ssh - Vagrant 无法连接到虚拟机

转载 作者:行者123 更新时间:2023-12-01 12:40:34 29 4
gpt4 key购买 nike

EDIT6:提交了官方路径错误:https://github.com/mitchellh/vagrant/issues/7512

EDIT5:当我执行 vagrant destroyvagrant up 时,一切都很容易。但是当我关闭 VM 并重新打开它时(有一天你必须重新启动你的 PC),它不会再工作了。创建 VM 时 vagrant up 的顺序有问题,或者 VirtualBox 有问题。销毁和重建 VM 不是选项,导致数据库迁移,一切至少需要 ~30 分钟。无论哪种方式,不要在 WINDOWS 10 上使用 VAGRANT

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

EDIT3:当我进入 vagrant 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 的路径使用正斜杠而不是反斜杠。这是一个错误吗?有没有办法手动设置虚拟机的路径?我已将 C:\Program Files\Oracle\VirtualBox 放入我的 PATH 中。

EDIT2:不要在 WINDOWS 10 上使用 VAGRANT,它在很多方面都有漏洞,而且 VM 还没有针对 win10 进行优化,你会遇到一堆你无法解决的问题解决。还尝试了 Hashicorp 的 Otto,也没有用。撕裂。

编辑:好的,所以当我执行 vagrant destroyvagrant up 时,安装 10 分钟后它就像一个魅力。但是在我重新启动我的 PC 或以任何方式注销后,Vagrant 无法连接到 VM,无论是使用私钥,还是使用登录名/密码。这是一个错误吗?

当我执行 vagrant up 时,VM 正常启动,但 Vagrant 无法连接。它只说警告:远程连接断开。正在重试...当我尝试通过 vagrant ssh 连接时,我只得到 ssh_exchange_identification: read: Connection reset by peer。当我检查 VM 的 GUI 时,它正在等待登录,当我使用默认登录名/密码登录时,它按预期工作,所以问题一定是 Vagrant 无法连接到 VM。

我试过:

  1. 检查我的电脑是否支持虚拟化并检查它是否开启
  2. 尝试使用密码而不是 key 进行连接
  3. 配置网络适配器
  4. 关闭防火墙
  5. 干净重新安装

我在 Windows 10 上使用 Vagrant 1.8.1 和 VirtualBox 5.0.20。这是我的 vagrant 文件:

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

最佳答案

[编辑 17/06/2016]
Virtualbox 5.0.22 应该可以解决这个问题。

https://www.virtualbox.org/wiki/Changelog
https://www.virtualbox.org/ticket/15412

[下面是原始答案]
与我之前的回答相比,我现在认为我没有遇到与您在此处描述的相同的问题。但是我仍然认为您遇到了不同的变体问题。

根据从 Virtualbox 开发收到的反馈https://www.virtualbox.org/ticket/15412我了解到 Virtualbox 5.0.20 包括对 NAT 转发规则的更改以解决其他错误。保存 VM 并再次启动时,Virtualbox 现在会拔掉网线 5 秒。这应该会触发 DHCP 客户端请求新的租约。然后 Virtualbox 使用此信息来推断 IP 地址和 NAT 应该工作。

在我的特殊情况下,我在使用 Ubuntu 16.04 作为 guest VM 时遇到了这个问题,而在使用 Ubuntu 14.04 时它可以正常工作。这向我表明,在 Virtualbox 断开电缆连接后,Ubuntu 14.04 上的 DHClient 确实请求新的租约,而 Ubuntu 16.04 则不是这种情况。

为了验证您是否遇到了同样的问题,我想知道您是否可以运行以下测试并告诉我。

  1. 登录到 Trusty VM 控制台(即在前台运行 VM 时显示的控制台)
  2. 安装“arping”(sudo apt-get -y install arping)
  3. 创建下面的脚本'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
  4. 将其设为可执行文件 'chmod +x sendARP.sh'
  5. 保存 Trusty VM(vagrant suspend)
  6. 从保存的状态启动您的 Trusty VM(vagrant up)
  7. 登录到 Trusty VM 控制台(即在前台运行 VM 时显示的控制台)
  8. 运行脚本'sudo ./sendARP.sh'
  9. 测试是否可以从远程位置/Virtualbox 主机通过 SSH 连接

错误:

https://github.com/mitchellh/vagrant/issues/7306

https://www.virtualbox.org/ticket/15412

关于ssh - Vagrant 无法连接到虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37109573/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com