Ошибка Vagrant: Тайм-аут соединения. Повторная попытка


12

У меня есть сервер с 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.

Это мой бродячий файл

# 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

мой сервер не имеет графического интерфейса Как я могу это исправить? Благодарю.


Любые правила брандмауэра, которые могут повлиять?
pbacterio

Ответы:


4

Сначала попробуйте: посмотреть, какой бродячий закрытый ключ в вашей конфигурации машины

$ 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 Config Docs

Во-вторых, выполните: измените содержимое файла insecure_private_key на содержимое закрытого ключа собственной системы yorn


Попробуйте другую коробку https://vagrantcloud.com/discover/featured
shilovk

Кажется, это работает идеально! Я удалил небезопасный ключ и позволил Vagrant сгенерировать его собственный новый и работающий как талисман
vishal.biyani

1
Как ты этого добился? Какой файл вы редактировали?
печенье

@cookieC:/Users/USER_NAME/.vagrant.d/insecure_private_key
shilovk

@shilovk, что это значит @cookie?
Любовь

2

попробуйте включить графический интерфейс виртуальной коробки, как указано в этом сообщении, 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"

2

Тайм-аут соединения SSH во время фазы загрузки может происходить по разным причинам, таким как:

  • система ожидает взаимодействия с пользователем (например, раздел ресурса не готов ),
  • sshd расконфигурация,
  • неправильная конфигурация брандмауэра (если он не локальный),
  • несоответствие вашего личного ключа,
  • config.vm.boot_timeout период времени слишком мал (что у вас хорошо),
  • убедитесь, что виртуализация включена в BIOS.

Чтобы устранить проблему, запустите ее как:

VAGRANT_LOG=debug vagrant up

Если нет ничего очевидного, попробуйте подключиться к нему с другого терминала vagrant ssh:

vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default

Если SSH все еще терпит неудачу, перезапустите его с GUI (например config.gui = true).

Если это не так, проверьте запущенные процессы (например, с помощью vagrant ssh -c 'pstree -a':) или проверьте свои sshd_config.


Если это одноразовая ВМ, вы всегда можете destroyее и upснова. Также рассмотрите возможность обновления вашего Vagrant и Virtualbox.


1

Попробуйте открыть порт 22 на брандмауэре.

Используя Oracle VM VirtualBox Manager, запустите вашу виртуальную машину напрямую или

добавьте это в ваш Vagrantfile

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

и запустить "Бродячий"

войти в систему, используя учетные данные по умолчанию vagrant

user: vagrant
pass: vagrant

добавить правило брандмауэра

sudo ufw allow 22

0

Я только что решил похожую проблему.

Проблема : vagrant sshистекло время ожидания команды для входа в гостевую среду разработки. Обычно он отлично работает на другом хост-компьютере.

Шаги отладки:

  1. В Vagrantfile я включил графический интерфейс Virtualbox (как рекомендовано в другом ответе), чтобы увидеть, что вызвало тайм-аут. Ubuntu запрашивает логин и пароль, чего не следует делать, потому что вместо этого следует использовать ключ ssh.

  2. Вместо запуска vagrant sshя многократно запускал эквивалентную команду ssh, добавляя и удаляя различные параметры ssh. Одно из сообщений об ошибке истекло время ожидания: «не удалось войти на [example.com]»… что не имеет смысла, поскольку эта проблема не имеет ничего общего с [example.com].

  3. Так что это побудило меня взглянуть на .ssh / config, где [example.com] может иметь какое-то отношение.

Основная причина : в .ssh / config Hostслучайно была запись без set. Поэтому он применял это правило конфигурации ко всем вызовам ssh, в том числе vagrant ssh(это просто ярлык для более длинной команды ssh).

Решение : убедитесь, что каждая запись .ssh / config Hostустановлена.


0

Попробуйте создать insecure_private_key

Я решил это, удалив insecure_private_key, расположенный под~/.vagrant.d

возможно причина в том, что insecure_private_keyфайл старый


0

У меня такая же проблема. Я удалил все из SystemPrefereces-> Security-> Firewall и удалил все сервисы из SystemPreferences-> Shared. Затем я снова включил удаленный вход. Это решило проблему в моем случае. Если это не решит вашу проблему, вы можете посетить этот сайт и проверить это самостоятельно. (ServerFaqs)


0

У меня возникла похожая проблема. Вот что я сделал.

  • Включена виртуализация в BIOS
  • Ран ssh-add ~/.vagrant.d/insecure_private_key
  • Добавлено config.vm.boot_timeout = 600в мой~/Homestead/Vagrantfile

Сейчас работает нормально.


0

Вы должны уметь графический интерфейс. Удалите комментарий этой строки в вашем Vagrantфайле:

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

После того, как вам нужно выключить машину и начать снова:

vagrant halt
vagrant up

0

Как я исправил:

в vagrantfile, включил / откомментировал нижеследующее ...

config.vm.network "private_network", ip: "192.168.33.10"
...
config.vm.network "public_network"

0

Эта проблема может быть вызвана многими факторами, включая ситуацию, когда окно виртуальной машины зависает в ожидании ответа от пользователя. Однако общей проблемой является несоответствие между закрытым ключом и открытым ключом. Чтобы устранить эту проблему, вам нужно предоставить файл личного ключа на вашем хост-компьютере, который соответствует файлу открытого ключа на виртуальной машине. Я разместил решение с 3 дополнительными подходами в нашем блоге здесь ...

http://www.productiveminds.com/blog/vagrant-ssh-authentication-how-to-successfully-login-into-vm-box-using-vagrant-up/


0

Это работает для меня:

  1. Войти с помощью: GUI по логину / пасс: Vagrant / Vagrant
  2. измените /etc/rc.localфайл, чтобы включить строку sh /etc/init.d/networking restartнепосредственно передexit 0
  3. отключить: графический интерфейс
  4. Бродячая или бродячая перезагрузка

https://github.com/mitchellh/vagrant/issues/391#issuecomment-2078383


0

У меня такая же проблема, и это мой первый опыт работы с vagrant.

Мне удалось «решить» проблему, используя общедоступную сеть вместо частной

config.vm.network "public_network", ip: "192.168.3.175"

Замените 192.168.3.175на IP, принадлежащий вашему классу сети.

Хотелось бы понять, что не так с частной сетью, хотя ...


это еще не сработало. = /
PoLIVoX

тогда убедитесь, что у вас установлена ​​последняя версия vagrant и virtualbox (скачайте пакет с сайта)
damko

Кстати, у меня было несколько проблем во время установки из-за некоторых пользовательских настроек, таких как «~ / .bashrc» и наличия «/ etc / SuSE-release» в моей коробке Mint 15 (требуется для другого программного обеспечения). Но среди всех изменений, которые я сделал, я искренне верю, что это исправило установку последних пакетов
damko

Я обновил свой сервер и не работал! = /
PoLIVoX

Я не использовал пакеты, предоставленные моим дистрибутивом. Я скачал с их (vagrant и virtualbox) официальных сайтов
damko

0

config.vm.boot_timeout- Время в секундах, в течение которого Vagrant будет ожидать загрузки машины и ее доступности. По умолчанию это 300 секунд.

Я бы увеличил это, пока вы не сможете бродить по SSH.


Я пытался, и это не сработало. = / Я установил таймаут 600
PoLIVoX

Можете ли вы опубликовать свой Vagrantfile?
dmourati

Я разместил свой Vagrantfile.
PoLIVoX
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.