ข้อผิดพลาด Vagrant: หมดเวลาเชื่อมต่อ ลองใหม่


12

ฉันมีเซิร์ฟเวอร์ที่ใช้ Ubuntu 12.04, Virtualbox 4.3 และ Vagrant 1.5.1 ฉันพยายามที่จะใช้ช่องนี้http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.boxแต่ unsucessfully เมื่อฉันเรียกใช้ "คนจรจัด" ฉันได้รับข้อความนี้:

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 Vagrant

ประการที่สองทำ: เปลี่ยนเนื้อหาของไฟล์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

พยายามเปิดใช้งาน GUI กล่องเสมือนของคุณตามที่รายงานในโพสต์นี้Vagrant ติดขัดหมดเวลาเชื่อมต่อและทำตามขั้นตอนในการแสดงความคิดเห็น

ถ้ามันไม่ทำงานลองเพิ่มการปรับเปลี่ยนนี้ในไฟล์ vagrant ของคุณ:

สร้างไฟล์ชื่อ "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

จากนั้นเพิ่มไปยังไฟล์ vagrant ของคุณ:

  # 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 GUI (ตามที่แนะนำในคำตอบอื่น) เพื่อดูสิ่งที่ทำให้เกิดการหมดเวลา Ubuntu กำลังขอล็อกอินและรหัสผ่านซึ่งไม่ควรเพราะควรใช้คีย์ ssh แทน

  2. แทนที่vagrant sshฉันจะรันฉันรันคำสั่ง ssh ที่เทียบเท่าหลายครั้งเพิ่มและลบตัวเลือก ssh ที่แตกต่างกัน ข้อความแสดงข้อผิดพลาดการหมดเวลาอ่าน“ ไม่สามารถเข้าสู่ [example.com]” …ซึ่งไม่สมเหตุสมผลเนื่องจากปัญหานี้ไม่เกี่ยวข้องกับ [example.com]

  3. เพื่อให้ฉันดู. ssh / config โดยที่ [example.com] อาจมีความเกี่ยวข้อง

สาเหตุหลัก : ใน. ssh / config มีรายการที่ไม่มีการHostตั้งค่าโดยไม่ตั้งใจ ดังนั้นจึงใช้กฎการตั้งค่านั้นกับการเรียก 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
  • Ran ssh-add ~/.vagrant.d/insecure_private_key
  • เพิ่มconfig.vm.boot_timeout = 600ไปยังของฉัน~/Homestead/Vagrantfile

มันใช้งานได้ดีตอนนี้


0

คุณต้องมี GUI ลบความคิดเห็นของบรรทัดนี้ใน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 ฉันโพสต์โซลูชันด้วย 3 วิธีที่เป็นทางเลือกในบล็อกของเราที่นี่ ...

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/issues/391#issuecomment-2078383


0

ฉันมีปัญหาเดียวกันและนี่เป็นประสบการณ์ครั้งแรกของฉันกับคนจรจัด

ฉันจัดการเพื่อ "แก้ปัญหา" โดยใช้เครือข่ายสาธารณะแทนเครือข่ายส่วนตัว

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

แทนที่192.168.3.175ด้วย IP ที่เป็นของคลาสเครือข่ายของคุณ

ฉันต้องการที่จะเข้าใจว่ามีอะไรผิดปกติกับเครือข่ายส่วนตัวแม้ว่า ...


มันยังไม่ทำงาน = /
PoLIVoX

จากนั้นให้แน่ใจว่าคุณมีคนพเนจรและ
เวอร์ช่วล

btw ฉันมีปัญหาหลายอย่างในระหว่างการติดตั้งเนื่องจากการตั้งค่าแบบกำหนดเองบางอย่างเช่น "~ / .bashrc" และการปรากฏตัวของ "/ etc / SuSE-release" ในกล่อง Mint 15 ของฉัน (ต้องใช้ซอฟต์แวร์อื่น) แต่ในบรรดาการเปลี่ยนแปลงทั้งหมดที่ฉันทำฉันเชื่ออย่างแท้จริงว่าสิ่งที่คงที่คือการติดตั้งแพ็คเกจล่าสุด
damko

ฉันอัปเดตเซิร์ฟเวอร์แล้วและใช้งานไม่ได้! = /
PoLIVoX

ฉันไม่ได้ใช้แพ็คเกจที่จัดทำโดยการกระจายของฉัน ฉันดาวน์โหลดจากเว็บไซต์ทางการของพวกเขา (คนจรจัดและคนเสมือน)
damko

0

config.vm.boot_timeout- เวลาเป็นวินาทีที่ Vagrant จะรอให้เครื่องทำการบู๊ตและสามารถเข้าถึงได้ โดยค่าเริ่มต้นนี่คือ 300 วินาที

ฉันจะเพิ่มสิ่งนี้จนกว่าคุณจะสามารถ SSH คนจรจัดได้


ฉันพยายามแล้ว แต่ก็ใช้ไม่ได้ = / ฉันกำหนดหมดเวลา 600
PoLIVoX

คุณสามารถโพสต์ไฟล์ Vagrantfile ของคุณได้หรือไม่?
dmourati

ฉันโพสต์ไฟล์ Vagrantfile ของฉัน
PoLIVoX
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.