Vagrant Hatası: Bağlantı zaman aşımı. Tekrar deniyor


13

Ubuntu 12.04, Virtualbox 4.3 ve Vagrant 1.5.1 ile bir sunucum var. Bu kutuyu http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box ancak başarısız bir şekilde kullanmaya çalışıyorum . "Vagrant up" ı çalıştırdığımda şu mesajı alıyorum:

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.

Bu benim Vagrant dosyam

# 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

sunucumda grafik arayüzü yok Nasıl düzeltebilirim? Teşekkürler.


Etkileyebilecek herhangi bir güvenlik duvarı kuralı var mı?
pbacterio

Yanıtlar:


4

İlk olarak, şunu deneyin: makine yapılandırmanızda hangi vagrant özel anahtarın olduğunu görmek için

$ vagrant ssh-config

Misal:

$ 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 Yapılandırma Dokümanları

İkinci olarak, yapmak: insecure_private_key dosyasının içeriğini yorn kendi sistemi özel anahtarının içeriğiyle değiştirin



Bu mükemmel çalışıyor gibi görünüyor! Güvensiz anahtarı
çıkardım

1
Bunu nasıl başardınız? Hangi dosyayı düzenlediniz?
çerez

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

@shilovk, ne anlama geliyor @cookie?
Aşk

2

Bu yazı Vagrant sıkışmış bağlantı zaman aşımı rapor edildiği gibi sanal kutu GUI etkinleştirmek için deneyin ve yorum adımları izleyin.

işe yaramazsa bu değişikliği vagrantfile dosyasına eklemeyi deneyin:

aşağıdaki komutları içeren "script.sh" adlı bir dosya oluşturun:

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

sonra bunu vagrantfile dosyasına ekleyin:

  # running script shell
    config.vm.provision :shell, :path => "script.sh"

2

Önyükleme aşamasında SSH bağlantı zaman aşımı aşağıdaki gibi farklı nedenlerden kaynaklanabilir:

  • sistem kullanıcı etkileşimi için bekliyor (örn. paylaşım bölümü hazır değil ),
  • sshd yanlış yapılandırma,
  • güvenlik duvarı yanlış yapılandırması (yerel değilse),
  • özel anahtarınızın uyumsuzluğu,
  • config.vm.boot_timeout zaman dilimi zaman çok düşük (sizinki iyi),
  • sanallaştırmanın BIOS'ta etkinleştirildiğinden emin olun.

Sorunu ayıklamak için lütfen şu şekilde çalıştırın:

VAGRANT_LOG=debug vagrant up

Açık bir şey yoksa, başka bir terminalden vagrant sshveya aşağıdaki yöntemlerle bağlanmaya çalışın :

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

SSH hala başarısız olursa, GUI ile yeniden çalıştırın (örn. config.gui = true).

Değilse, çalışan işlemleri kontrol edin (örneğin: ile vagrant ssh -c 'pstree -a') veya cihazınızı doğrulayın sshd_config.


Tek kullanımlık VM ise, her destroyzaman ve uptekrar yapabilirsiniz. Ayrıca Vagrant ve Virtualbox'ınızı yükseltmeyi de düşünün.


1

Güvenlik duvarında 22 numaralı bağlantı noktasını açmayı deneyin.

Oracle VM VirtualBox Manager'ı kullanarak VM'nizi doğrudan başlatın veya

bunu Vagrant dosyasına ekle

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

ve "vagrant up" ı çalıştırın

varsayılan vagrant kimlik bilgilerini kullanarak giriş yapma

user: vagrant
pass: vagrant

güvenlik duvarı kuralı ekle

sudo ufw allow 22

1

config.vm.boot_timeout- Vagrant'ın makinenin önyüklenmesini ve erişilebilir olmasını bekleyeceği saniye cinsinden süre. Varsayılan olarak bu 300 saniyedir.

SSH'yi kötüleştirene kadar bunu arttırırdım.


Denedim ve işe yaramadı. = / Zaman aşımı 600'ü
ayarladım

Vagrantfile'inizi gönderebilir misiniz?
dmourati

Vagrantfile'ımı gönderdim.
PoLIVoX

0

Benzer bir sorunu çözdüm.

Sorun : Konuk geliştirme ortamına giriş yapma komutu vagrant sshzaman aşımına uğradı. Başka bir ana makinede rutin olarak iyi çalışır.

Hata ayıklama adımları:

  1. Vagrantdosyasında, zaman aşımına neyin neden olduğunu görmek için Virtualbox GUI'yi (başka bir cevapta önerildiği gibi) etkinleştirdim. Ubuntu, bunun yerine ssh anahtarını kullanması gerektiği için girmemesi gereken bir kullanıcı adı ve şifre istiyordu.

  2. Çalıştırmak yerine vagrant ssh, birçok kez eşdeğer bir ssh komutu çalıştırdım , farklı ssh seçeneklerini ekleyip sildim. Zaman aşımı hata mesajlarından biri “[example.com] 'a giriş yapılamadı” ... ve bu sorunun [example.com] ile ilgisi olmadığı için hiçbir anlam ifade etmiyor.

  3. Böylece bu, [example.com] 'un biraz alakalı olabileceği .ssh / config dosyasına bakmamı istedi.

Kök Neden : .ssh / config dosyasında Hostyanlışlıkla ayarlanmamış bir girdi vardı . Bu nedenle, bu yapılandırma kuralını dahil olmak üzere tüm ssh çağrılarına uygulanıyordu vagrant ssh(daha uzun bir ssh komutu için sadece bir kısayoldur).

Çözüm : Her .ssh / config girişinin Hostayarlandığından emin olun .


0

Oluşturmayı deneyin insecure_private_key

Bunu insecure_private_key, altında bulunan~/.vagrant.d

belki insecure_private_keydosya eskidir


0

Ben de aynı problemi yaşadım. SystemPrefereces-> Güvenlik-> Güvenlik Duvarı'ndan her şeyi sildim ve SystemPreferences-> Paylaşılan'dan tüm hizmetleri kaldırdım. Sonra uzaktan oturum açmayı tekrar etkinleştirdim. Bu benim durumumdaki sorunu düzeltti. Bu sorununuzu çözmezse, bu siteyi ziyaret edebilir ve kendiniz kontrol edebilirsiniz. (ServerFaqs)


0

Benzer bir sorun yaşadım. İşte yaptığım şey.

  • BIOS'ta etkin sanallaştırma
  • Koştu ssh-add ~/.vagrant.d/insecure_private_key
  • Eklenen config.vm.boot_timeout = 600için benim~/Homestead/Vagrantfile

Şimdi iyi çalışıyor.


0

GUI'yi yapabilmeniz gerekir. VagrantDosyanızdaki bu satırların yorumunu kaldırın :

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

Makinenizi kapatıp yeniden başlatmanız gerektiğinde:

vagrant halt
vagrant up

0

Nasıl düzelttim:

vagrantfile, belows etkin / yorum kaldırma ...

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

0

Bu sorun, VM kutusunun kullanıcıdan yanıt beklerken askıda kalması gibi bir çok faktörden kaynaklanıyor olabilir. Bununla birlikte, ortak anahtar ile ortak anahtar arasındaki uyumsuzluk yaygın bir sorundur. Bu sorunu gidermek için, ana makinenizde VM kutusundaki ortak anahtar dosyasıyla eşleşen özel bir anahtar dosyası sağlamanız gerekir. Buradaki blogumuza 3 isteğe bağlı yaklaşımla bir çözüm gönderdim ...

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



0

Aynı problemim var ve bu benim vagrant ile ilk deneyimim.

Özel bir ağ yerine genel bir ağ kullanarak sorunu "çözmeyi" başardım

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

192.168.3.175Ağ sınıfınıza ait bir IP ile değiştirin .

Yine de özel ağdaki sorunun ne olduğunu anlamak istiyorum ...


henüz çalışmadı. = /
PoLIVoX

o zaman vagrant ve virtualbox'ın en son sürümüne sahip olduğunuzdan emin olun (web sitesinden paketi indirin)
damko

btw Kurulum sırasında "~ / .bashrc" gibi bazı özel ayarlar ve Mint 15 kutumda "/ etc / SuSE-release" (başka bir yazılımın gerektirdiği) gibi çeşitli sorunlar yaşadım. Ama yaptığım tüm değişiklikler arasında, bunun en son paketlerin kurulumu olduğuna gerçekten inanıyorum
damko

Sunucumu güncelledim ve işe yaramadı! = /
PoLIVoX

Dağıtımımın sağladığı paketleri kullanmadım. Onların (vagrant ve virtualbox) resmi web sitelerinden
indirdim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.