我在VirtualBox 5.0.24
上运行的Digital Ocean VPS上运行1.8.5
和Vagrant Ubuntu 14.04 LTS Precise
我正在使用方框ubuntu/precise64
一切正常,但当我vagrant up
时,它挂在
SSH auth method: Private key
退出并给出时间。现在,我可以考虑增加执行时间,但在发出错误之前已经花了很长时间。我不知道自己做错了什么。 这是我的VAGRANTFILE
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/precise64"
# 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
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :'1cf9e703-607e-4338-9162-20abbeca94b0', '--pae', 'on']
vb.customize ['modifyvm', :'1cf9e703-607e-4338-9162-20abbeca94b0', '--hwvirtex', 'off']
vb.customize ['modifyvm', :'1cf9e703-607e-4338-9162-20abbeca94b0', '--vtxvpid', 'off']
end
end
答案 0 :(得分:10)
我也有这个问题,我通过打开&#34; Oracle Virtual Box Manager&#34;来修复它。 GUI并转到&#34;设置&#34; - &GT; &#34;网络&#34;并选择&#34;适配器1&#34;然后通过单击箭头展开选项并确保&#34; Cable Connected&#34;检查。
答案 1 :(得分:2)
我发现我的Windows 10上启用了WSL,因此使用此命令将其禁用了
bcdedit /set hypervisorlaunchtype off
但是它并没有帮助我,所以我浏览了Windows的功能,发现Virtual Machine Platform已打开,因此我对其进行了查找,并将其链接到WSL,因此我将其关闭并解决了ssh密钥问题。
答案 2 :(得分:1)
似乎最新版本不适用于VPS。 我不得不选择旧版本的软件在这个ubuntu VPS上运行它们 我选择的版本是
VirtualBox >= 4.3.12
和
Vagrant >= 1.5.3
这样可行,但您必须配置ssh
答案 3 :(得分:1)
在某个奥秘论坛上找到了以下解决方案,它的工作原理是将其添加到Vagrantfile
底部的end
底部:
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end
与在VirtualBox AFAIK中手动更改设置相同,但是我个人更喜欢将基础结构用作代码解决方案。这样,同事不必在任何地方处理相同的问题。
答案 4 :(得分:1)
花了数周的时间阅读并测试了我发现的所有答案,甚至没有被标记为正确的答案,我也不记得在哪里,有人提到了有关Guest Additions的东西...我找到了插件并安装了它:< / p>
vagrant plugin install vagrant-vbguest
它就像一种魅力。问题解决了。
堆栈:Virtualbox 6.0,Vagrant 2.2.7,OS Fedora 31
答案 5 :(得分:1)
截至 2021 年 5 月的更新:所以我发现这是 Vagrant 中的一个实际错误。解决方案直接来自Hashicorps' GitHub。
基本上打开 vagrantfile
并在 config.vm.provider :virtualbox do |v|
下和 end
之前添加这些行:
v.customize ["modifyvm", :id, "--uart1", "0x3F8", "4"]
v.customize ["modifyvm", :id, "--uartmode1", "file", File::NULL]
如果该行是 config.vm.provider :virtualbox do |vb|
那么代码将是:
vb.customize ["modifyvm", :id, "--uart1", "0x3F8", "4"]
vb.customize ["modifyvm", :id, "--uartmode1", "file", File::NULL]
答案 6 :(得分:0)
我在AWS EC2 Ubuntu 16.04实例上尝试使用虚拟化(virtualbox + vagrant)时遇到了这个问题。显然,似乎这是不可能的,因为亚马逊决定阻止该选项 - 虚拟机安装将失败/你在尝试'流浪汉'时会在标题中收到消息。正如本文所述(有点老,但说服了我):
可以在这里找到更复杂的解决方案 - 但我没有尝试看看它是否有效:
答案 7 :(得分:0)
我的版本virtualbox(5.1.20),vagrant(1.9.3)。我通过删除
解决了这个错误 v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
我是新手,希望这有帮助。
答案 8 :(得分:0)
就我而言,我进入了一种无效状态。在vagrant up
之前执行此命令即可达到目的。
注意:请谨慎使用,因为这会清除流浪实例上的所有数据。
vagrant destroy --force
答案 9 :(得分:0)
我也陷入了同一个var args = TestContext.Properties["YourTestProject.Args"].Split();
的Windows中(试图通过SSH连接到Ubuntu盒),然后几分钟后我超时了。
请注意,如果您运行的是多个 SSH代理(可能是非自愿的)。例如,在Windows中,您可能同时具有Pageant和OpenSSH身份验证代理(可以在Windows Services下找到的阶梯)。就我而言,私钥是在Pageant下添加的,但是在操作系统重启后,OpenSSH身份验证代理似乎已具有优先权。
最终禁用了后者,重新启动操作系统,将密钥再次加载到Pageant中,然后SSH auth method: Private key
起作用了。
答案 10 :(得分:0)
我也遇到了这个问题,我通过打开“Oracle Virtual Box Manager”GUI 并转到“设置”->“网络”并选择“适配器 1”,然后通过单击箭头展开该选项并修复它确保选中“Cable Connected”。
我尝试了这个答案,发现默认情况下已经启用了。我尝试禁用和重新启用,这首先给了我以下消息 Warning: Connection aborted. Retrying...
之后 vagrant 继续启动并成功执行
答案 11 :(得分:0)
好吧,我遇到了类似的问题,并在以下线程中得到了解决方案: https://forums.virtualbox.org/viewtopic.php?f=6&t=97578 这是由于我在 Windows 10 上运行 docker desktop 造成的,它使用 Windows SubsystemLinux 并利用 Hyper-v 启动虚拟环境。这不允许或使 Virtual box 响应太慢而导致 ssh 超时并导致文件系统错误。 您应该特别关注“海龟”图标,这意味着 Virtualbox 太慢了,如果一切正常,那么您将在 Virtualbox 控制台上看到“V”图标。按照说明停止 hyper-v 重新启动机器,它将工作。 要完全关闭 Hyper-V,请执行以下操作:
关闭所有程序。您必须重新启动主机。
看到我有一个 64 位主机,但无法安装 64 位来宾。本教程在第 2 步中还需要注意一些事项。请确保这些都已关闭。
找到命令提示符图标,右键单击它并选择以管理员身份运行。
输入以下命令: bcdedit /set hypervisorlaunchtype off
输入以下命令: 关机 -s -t 2
当计算机关闭时,将其拔下 20 秒。然后再次插入并启动 Windows 10。