У меня есть сервер с Ubuntu 12.04, Virtualbox 4.3 и Vagrant 1.5.1. Я пытаюсь использовать эту коробку http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box однако безуспешно. Когда я запускаю "vagrant up", я получаю следующее сообщение:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos-64-x64-vbox4210'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: rafael_default_1396403974194_51967
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.
If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
Это мой файл Vagrant
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "centos-64-x64-vbox4210"
config.vm.boot_timeout = 600
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
# config.vm.box_url = "http://domain.com/path/to/above.box"
# 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"
# If true, then any SSH connections made will enable agent forwarding.
# Default value: false
# config.ssh.forward_agent = true
# 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"
# Enable provisioning with chef server, specifying the chef server URL,
# and the path to the validation key (relative to this Vagrantfile).
#
# The Opscode Platform uses HTTPS. Substitute your organization for
# ORGNAME in the URL and validation key.
#
# If you have your own Chef Server, use the appropriate URL, which may be
# HTTP instead of HTTPS depending on your configuration. Also change the
# validation key to validation.pem.
#
# config.vm.provision "chef_client" do |chef|
# chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
# chef.validation_key_path = "ORGNAME-validator.pem"
# end
#
# If you're using the Opscode platform, your validator client is
# ORGNAME-validator, replacing ORGNAME with your organization name.
#
# If you have your own Chef Server, the default validation client name is
# chef-validator, unless you changed the configuration.
#
# chef.validation_client_name = "ORGNAME-validator"
end
на моем сервере нет графического интерфейса. Как это исправить? Спасибо.
Первая попытка: чтобы увидеть, что бродячий закрытый ключ в вашей конфигурации машины
$ vagrant ssh-config
Пример:
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
Документация по конфигурации Vagrant SSH
Во-вторых, сделайте: Изменить содержимое файла insecure_private_key с содержанием собственной системы закрытый ключ
Тайм-аут SSH-соединения на этапе загрузки может произойти по разным причинам, например:
sshd
неправильная конфигурация,config.vm.boot_timeout
период времени слишком мал (что у вас нормально),Чтобы устранить проблему, запустите ее как:
VAGRANT_LOG=debug vagrant up
Если ничего очевидного нет, попробуйте подключиться к нему с другого терминала, vagrant ssh
или по:
vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default
Если SSH по-прежнему не работает, перезапустите его с помощью графический интерфейс (например. config.gui = true
).
Если это не так, проверьте запущенные процессы (например, с помощью: vagrant ssh -c 'pstree -a'
) или подтвердите свой sshd_config
.
Если это одноразовая ВМ, вы всегда можете destroy
это и up
это снова. Также подумайте об обновлении вашего Vagrant и Virtualbox.
попробуйте включить графический интерфейс виртуального окна, как указано в этом сообщении Тайм-аут зависшего соединения Vagrant и следуйте инструкциям в комментариях.
если это не сработает, попробуйте добавить эту модификацию в свой vagrantfile:
создайте файл с именем "script.sh", содержащий следующие команды:
mkdir /home/vagrant/.ssh
wget --no-check-certificate -O authorized_keys 'https://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub'
mv authorized_keys /home/vagrant/.ssh
chown -R vagrant /home/vagrant/.ssh
chmod -R go-rwsx /home/vagrant/.ssh
затем добавьте это в свой vagrantfile:
# running script shell
config.vm.provision :shell, :path => "script.sh"
config.vm.boot_timeout
- Время в секундах, в течение которого Vagrant будет ждать, пока машина загрузится и станет доступной. По умолчанию это 300 секунд.
Я бы увеличил это значение до тех пор, пока вы не сможете бродить по SSH.
Попробуйте открыть порт 22 на брандмауэре.
Используя Oracle VM VirtualBox Manager, запустите виртуальную машину напрямую или
добавьте это в свой Vagrantfile
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
и запустить "бродяга"
войти, используя учетные данные бродяги по умолчанию
user: vagrant
pass: vagrant
добавить правило брандмауэра
sudo ufw allow 22
Я как раз решил похожую проблему.
Проблема: Команда для входа в гостевую среду разработки, vagrant ssh
, время истекло. Обычно он отлично работает на другом хост-компьютере.
Шаги отладки:
В Vagrantfile я включил графический интерфейс Virtualbox (как рекомендовано в другом ответе), чтобы узнать, что вызывает тайм-аут. Ubuntu запрашивал логин и пароль, чего не следовало делать, потому что вместо этого он должен был использовать ключ ssh.
Вместо того, чтобы бегать vagrant ssh
, Я много раз запускал эквивалентную команду ssh, добавляя и удаляя различные параметры ssh. Одно из сообщений об ошибке тайм-аута гласит: «Не удалось войти на [example.com]»… что не имеет смысла, потому что эта проблема не имеет ничего общего с [example.com].
Это побудило меня взглянуть на .ssh / config, где [example.com] может иметь некоторое отношение.
Основная причина: В .ssh / config была запись без Host
поставил, случайно. Следовательно, это правило конфигурации применялось к все ssh-вызовы, включая vagrant ssh
(это просто ярлык для более длинной команды ssh).
Решение: Убедитесь, что в каждой записи .ssh / config есть Host
устанавливать.
Попробуйте создать insecure_private_key
Я решил это, удалив insecure_private_key
, расположенный под ~/.vagrant.d
возможно причина в insecure_private_key
файл старый
У меня такая же проблема. Я удалил все из SystemPrefereces-> Security-> Firewall и удалил все службы из SystemPreferences-> Shared. Затем я снова включил удаленный вход. Это устранило проблему в моем случае. Если это не решит вашу проблему, вы можете посетить этот сайт и проверить его самостоятельно. (ServerFaqs)
У меня возникла аналогичная проблема. Вот что я сделал.
ssh-add ~/.vagrant.d/insecure_private_key
config.vm.boot_timeout = 600
к моему ~/Homestead/Vagrantfile
Теперь все работает нормально.
Вам нужно включить графический интерфейс. Удалите комментарий к этой строке в вашем Vagrant
файл:
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
После того, как вам нужно выключить машину и начать снова:
vagrant halt
vagrant up
Как я исправил:
в vagrantfile включил / не комментировал нижеприведенное ...
config.vm.network "private_network", ip: "192.168.33.10"
...
config.vm.network "public_network"
Эта проблема может быть вызвана многими факторами, включая ситуацию, когда ящик виртуальной машины зависает в ожидании ответа от пользователя. Однако распространенной проблемой было несоответствие закрытого и открытого ключей. Чтобы решить эту проблему, вам необходимо предоставить файл закрытого ключа на вашем хост-компьютере, который соответствует файлу открытого ключа на виртуальной машине. Я разместил решение с 3 дополнительными подходами в нашем блоге здесь ...
Это работает для меня:
/etc/rc.local
файл для включения строки sh /etc/init.d/networking restart
прямо перед exit 0
https://github.com/mitchellh/vagrant/issues/391#issuecomment-2078383
У меня такая же проблема, и это мой первый опыт работы с бродягой.
Мне удалось «решить» проблему, использовав публичную сеть вместо частной.
config.vm.network "public_network", ip: "192.168.3.175"
Заменить 192.168.3.175
с IP-адресом, принадлежащим вашему классу сети.
Я бы хотел понять, что не так с частной сетью ...