Помилка бродячого: час очікування з'єднання. Повторна спроба


12

У мене є сервер з Ubuntu 12.04, Virtualbox 4.3 та Vagrant 1.5.1. Я намагаюся використовувати це поле http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box, але безуспішно. Коли я запускаю "бродячий", я отримую це повідомлення:

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

мій сервер не має графічного інтерфейсу Як це можна виправити? Дякую.


Будь-які правила брандмауера, які можуть вплинути?
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

Напруга SSH Налаштування Документів

По-друге, зробіть: Змініть вміст файлу insecure_private_key зі змістом приватного ключа власного системи


Спробуйте інше вікно https://vagrantcloud.com/discover/featured
shilovk

Це, здається, працює ідеально! Я видалив незахищений ключ і дозволив Вагранту створити його власне нове і працює як принадність
vishal.biyani

1
Як ви цього домоглися? Який файл ви редагували?
печиво

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

@shilovk, що це означає @cookie?
Любов

2

спробуйте ввімкнути свій графічний інтерфейс віртуального вікна, як повідомляється в цій публікації. Час очікування з’єднання застряг у безпечному режимі та виконайте кроки в коментарях.

якщо це не працює, спробуйте додати цю модифікацію до вашого 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.


Якщо це одноразовий VM, ви завжди можете destroyце та upще раз. Також розгляньте можливість оновлення Vagrant та Virtualbox.


1

Спробуйте відкрити порт 22 на брандмауері.

За допомогою Oracle VM VirtualBox Manager запускайте свій VM безпосередньо або

додайте це до свого Vagrantfile

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

і бігти "бродячий"

увійдіть, використовуючи бродяжні облікові дані за замовчуванням

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випадково був запис без набору. Тому воно застосовувало це правило config до всіх 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

Ця проблема може бути викликана багатьма факторами, включаючи ситуацію, коли вікно VM висить у очікуванні відповіді від користувача. Однак поширеною проблемою було невідповідність приватного ключа та відкритого ключа. Щоб усунути цю проблему, вам потрібно надати хост-файл на своєму хост-машині, який відповідає файлу відкритого ключа у вікні VM. Тут я розмістив рішення з трьома необов’язковими підходами на нашому блозі ...

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


0

Це працює для мене:

  1. увійти за допомогою: gui за входом / пропуск: бродячий / бродячий
  2. змінити /etc/rc.localфайл, щоб він включав рядок sh /etc/init.d/networking restartнапередодніexit 0
  3. відключити: gui
  4. бродяжництво або бродяжне перезавантаження

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


0

У мене така ж проблема, і це мій перший досвід роботи з бродяжником.

Мені вдалося «вирішити» проблему, використовуючи загальнодоступну мережу замість приватної

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

Замініть 192.168.3.175IP-адресу, що належить до вашого мережевого класу.

Я хотів би зрозуміти, що з приватною мережею не так ...


воно ще не працювало. = /
PoLIVoX

то будьте впевнені, що у вас є остання версія бродячого та віртуальної скриньки (завантажте пакунок із веб-сайту)
damko

btw У мене виникло декілька проблем під час встановлення через деякі користувацькі налаштування, такі як "~ / .bashrc" та наявність "/ etc / SuSE-release" у моєму вікні Mint 15 (вимагається іншим програмним забезпеченням). Але серед усіх змін, які я вніс, я справді вірю, що те, що було виправлено, - це встановлення останніх пакетів
damko

Я оновив свій сервер і не працював! = /
PoLIVoX

Я не використовував пакунки, надані моїм розповсюдженням. Я завантажив з офіційних веб-сайтів (бродячих та віртуальних)
damko

0

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

Я б збільшив це, поки ви не зможете блукати з SSH.


Я спробував, і це не вийшло. = / Я затримав тайм-аут 600
PoLIVoX

Чи можете ви опублікувати свій Vagrantfile?
dmourati

Я опублікував свій Vagrantfile.
PoLIVoX
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.