การหมดเวลาการเชื่อมต่อที่ติดขัดของ Vagrant กำลังลองใหม่


417

คนจรจัดของฉันทำงานได้อย่างสมบูรณ์เมื่อคืนนี้ ฉันเพิ่งเปิดใช้งานพีซีกดvagrant upและนี่คือสิ่งที่ฉันได้รับ:

==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> 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...
    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...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...

มีใครเคยมีสิ่งนี้มาก่อนหรือไม่ คนจรจัดยังไม่ครอบคลุมในเว็บอย่างกว้างขวางและฉันไม่สามารถหาสาเหตุที่สิ่งนี้เกิดขึ้น


สถานการณ์อาจเป็นเพราะ VirtualBox ล้มเหลวที่จะเปลี่ยนเส้นทางพอร์ตแม้จะบอกว่า ' ==> ค่าเริ่มต้น: การส่งต่อพอร์ต ... เริ่มต้น: 22 => 2222 (อะแดปเตอร์ 1) ' คุณอาจจะต้องดูที่รายละเอียดเต็มรูปแบบในคำถามของฉันที่นี่การเชื่อมโยง ฉันยังไม่รู้ว่าจะแก้ไขการเปลี่ยนเส้นทางล้มเหลวได้อย่างไร (คุณอาจดูในบันทึก VirtualBox
WebComer

ฉันมีปัญหาเดียวกัน ปัญหาคือว่าเซิร์ฟเวอร์ ssh ไม่ได้ติดตั้งและเปิดใช้งานบนเครื่องของแขก
melihovv

ผมมีข้อผิดพลาดเดียวกันติดตั้งอูบุนตู 16.04 - ปัญหาได้รับการแก้ไขโดยการอัพเกรดกล่องเสมือน 5.1.x - ดูaskubuntu.com/a/822974/151137
house9

@Kiee โปรดตรวจสอบโปรแกรมป้องกันไวรัสและไฟร์วอลล์เช่นกันหยุดทั้งเวลาแล้วคุณไป :)
AmmyTech

คำตอบ:


375

ฉันแก้ไขปัญหานี้แล้วและจะตอบในกรณีที่คนอื่นมีปัญหาคล้ายกัน

สิ่งที่ฉันทำคือฉันเปิดใช้งานกล่อง GUI ของ Virtual เพื่อดูว่ากำลังรออินพุตเมื่อเริ่มต้นเพื่อเลือกว่าฉันต้องการบูตโดยตรงกับ Ubuntu หรือ safemode เป็นต้น

ในการเปิดใช้งาน GUI คุณต้องใส่สิ่งนี้ไว้ในการกำหนดค่าของคนจรจัดVagrantfile:

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

17
@Huuuze ปัญหาคือว่าเครื่องเสมือนอาจปิดไม่ถูกต้องและเมื่อฉันลอง SSHing ในวันรุ่งขึ้นเครื่องต้องการให้ฉันเลือกโหมดที่ฉันต้องการบูต แต่ผ่าน commandline ฉันไม่รู้จนกระทั่งฉัน เปิด gui ซึ่งให้ฉันเลือกโหมด
Kiee

7
ขอบคุณ ในกรณีของฉัน VM ติดอยู่ที่ bootloader (ด้วง) รอคีย์ ENTER hashicorp/precise32ฉันใช้ค่าเริ่มต้น ฉันเริ่มเครื่องด้วย GUI จากนั้นเรียกใช้sudo grub-mkconfigรีเซ็ต/boot/grub/grub.cfgไฟล์และฉันสามารถคอมเม้นต์กลับvb.gui=trueบรรทัดได้
maggix

2
@ จับคู่ไฟล์ Vagrant ของคุณในไดเรกทอรีที่คุณกำลัง (หรือควร) กำลังทำงานอยู่vagrant up
Kiee

4
@jasa หากเป็น vm คนจรจัดมีโอกาสที่ดีที่ชื่อผู้ใช้และรหัสผ่านจะมีทั้งคู่vagrant
Kiee

7
GUI แสดงข้อผิดพลาดต่อไปนี้ให้ฉัน: การเร่งความเร็วฮาร์ดแวร์ VT-x / AMD-V ไม่สามารถใช้ได้ในระบบของคุณ เควส 64 บิตของคุณจะไม่สามารถตรวจจับ CPU 64 บิตและไม่สามารถบู๊ตได้
SKuijers

213

เมื่อคุณติดอยู่กับเครื่องคนจรจัดของคุณวิธีที่อธิบายข้างต้นไม่จำเป็นต้องบูตในโหมด gui (และเป็นไปไม่ได้หากไม่มีเซิร์ฟเวอร์ X)

ในขณะที่ VM ของคุณกำลังบูทในหน้าต่างเทอร์มินัลแยกต่างหากให้ค้นหา ID ของเครื่องที่กำลังทำงานอยู่

vboxmanage list runningvms

สิ่งนี้จะส่งผลดังนี้:

"projects_1234567890" {5cxxxx-cxxx-4xxx-8xxx-5xxxxxxxxxx}

บ่อยครั้งที่ VM กำลังรอให้คุณเลือกตัวเลือกใน bootloader คุณสามารถส่งรหัสที่เหมาะสม (ในกรณีEnter) ไปยัง vm ด้วยcontrolvm:

vboxmanage controlvm projects_1234567890 keyboardputscancode 1c

แค่นั้นแหละ. เครื่องเสมือนของคุณจะดำเนินการบู๊ตต่อไป


22
@ParrisVarney: ส่วนใหญ่เวลานี้แฮงค์เกิดจาก bootloader กำลังรอรายการที่จะถูกเลือก สิ่งนี้ทำได้โดยการส่งคีย์ Enter ซึ่งคุณสามารถทำได้โดยใช้ GUI หรือโดยใช้vboxmanageอินเตอร์เฟสบรรทัดคำสั่งสำหรับ VirtualBox ดังนั้นคุณจะ "ควบคุม" VM ที่และการส่งมันว่า "สแกนรหัส" สำหรับปุ่ม Enter (1C) keyboardputscancodeโดยใช้พารามิเตอร์
Kautiontape

1
ฉันไม่เข้าใจจริงๆว่าสิ่งนี้ทำอะไร แต่มันได้ผล ขอบคุณมาก
Lavixu

1
วิธีนี้ไม่ได้ผลสำหรับฉัน เพียงเปลี่ยนฉันได้สังเกตเห็นว่าการส่งออกเป็นข้อความที่มีการเปลี่ยนแปลงจากค่าเริ่มต้น: Warning: Connection timeout. Retrying...การหลังจากทำงานdefault: Warning: Remote connection disconnect. Retrying... vboxmanage controlvm dst_default_1407935479617_2464 keyboardputscancode 1cจะลองvb.gui = trueแทน
Marius Butuc

4
vboxmanage หน้าต่างที่พบในC:\Progra~1\Oracle\VirtualBox\VBoxManage.exeที่กล่าวว่าการเปลี่ยนแปลง BIOS ด้านล่างแก้ไขช่วยให้ปัญหานี้สำหรับฉัน
yingw

1
คำตอบนี้ยอดเยี่ยมมากควรทำเครื่องหมายเป็นคำตอบ
อยากรู้อยากเห็น

47

สิ่งหนึ่งที่ควรตรวจสอบคือการเปิดใช้งาน Hardware Virtualisation ใน BIOS ของเครื่อง

ปัญหาของฉันคือหมดเวลาสตริงเดียวกัน แต่ฉันจะเห็นหน้าจอสีดำใน GUI

แล็ปท็อปที่ฉันเพิ่งตั้งค่าไว้แสดงปัญหาเดียวกัน หลังจากชั่วโมงการค้นหาในที่สุดฉันก็พบเคล็ดลับเพื่อดูว่า BIOS มีการจำลองเสมือนสำหรับฮาร์ดแวร์เปิดใช้งานหรือไม่

นี่คือเนื้อหาของโพสต์ที่ฉันพบ:

ฉันเห็นว่ายังมีผู้ใช้บางคนที่กำลังประสบปัญหานี้อยู่ ดังนั้นฉันจะพยายามสรุปรายการด้านล่างของวิธีแก้ปัญหาที่เป็นไปได้สำหรับปัญหาการหมดเวลา SSH:

  • ตรวจสอบให้แน่ใจว่าไฟร์วอลล์หรือโปรแกรมป้องกันไวรัสของคุณไม่ได้บล็อกโปรแกรม (ซึ่งฉันสงสัยว่าจะเกิดขึ้นบ่อยครั้ง)
  • ให้เครื่องคนจรจัดของคุณมีเวลาสำหรับการหมดเวลาที่จะเกิดขึ้น หากคุณไม่มี PC / Mac ที่เร็วมาก VM จะใช้เวลาสักครู่ในการบูตเข้าสู่สถานะพร้อม SSH ดังนั้นการหมดเวลาจะเกิดขึ้น
  • ดังนั้นก่อนอื่นให้ปล่อยให้คนจรจัดหมดเวลาโดยสมบูรณ์ก่อนที่จะสรุปว่ามีข้อผิดพลาด
  • หากคนจรจัดหมดเวลาอย่างสมบูรณ์ให้เพิ่มขีด จำกัด การหมดเวลาในไฟล์คนจรจัดเป็นไม่กี่นาทีแล้วลองอีกครั้ง
  • หากยังไม่สามารถใช้งานได้ให้ลองล้างข้อมูลเครื่องบูทของคุณผ่านทาง VirtualBox และเปิดใช้งาน GUI ของเครื่องล่วงหน้า หาก GUI ไม่แสดงสิ่งใดเกิดขึ้น (เช่นหน้าจอสีดำไม่มีข้อความ) ขณะทำการบูทเครื่องของคุณจะพบปัญหา
  • ทำลายเครื่องทั้งหมดผ่านทางอินเตอร์เฟส VB และติดตั้งใหม่
  • ลบไฟล์ภาพอูบุนตูในโฟลเดอร์ Vagrant Images ในโฟลเดอร์ผู้ใช้และดาวน์โหลดและติดตั้งใหม่
  • คุณมีตัวประมวลผล intel ที่รองรับการจำลองเสมือนฮาร์ดแวร์ 64 บิตหรือไม่? Google มัน หากคุณตรวจสอบให้แน่ใจว่าไม่มีการตั้งค่าใน Bios ของคุณเพื่อปิดใช้งานคุณสมบัตินี้
  • ปิดใช้งานคุณลักษณะไฮเปอร์ -v หากคุณใช้ Windows 7 หรือ 8 Google จะปิดการใช้งานอย่างไร
  • ตรวจสอบให้แน่ใจว่าคุณกำลังทำงานผ่านไคลเอนต์ที่เปิดใช้งาน SSH ใช้ทุบตี Git ดาวน์โหลด: http://git-scm.com/downloads
  • ติดตั้ง Ubuntu รุ่น 32 บิตเช่น trusty32 หรือ precision32 เพียงแค่เปลี่ยนรุ่นในไฟล์คนจรจัดและติดตั้งคนจรจัดในไดเรกทอรีใหม่
  • ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชันล่าสุดของ vagrant และเวอร์ช่วลบ็อกซ์ ทางเลือกสุดท้าย: จัดรูปแบบคอมพิวเตอร์ของคุณติดตั้ง windows ใหม่และซื้อโปรเซสเซอร์ Intel Core isomething

หวังว่าจะช่วย


2
ที่สองที่ "ตรวจสอบเพื่อให้แน่ใจว่าเปิดใช้งานการจำลองเสมือนฮาร์ดแวร์" ฉันกำลังประสบปัญหานี้และการรีบูตโฮสต์จากนั้นเปิดใช้งานการจำลองเสมือนใน BIOS เพื่อแก้ไขปัญหาฉัน
MrBooks

2
เพิ่งถูกโจมตีโดยสิ่งนี้ Hyper-V เป็นสาเหตุและการถอนการติดตั้งแก้ไข tyvm
ChrisAnnODell

1
ตอบโต้ใน BIOS ของฉันฉันต้องปิดการใช้งานระบบเสมือนจริงและเปิดใช้งาน VT-X ลองสลับการตั้งค่าเหล่านี้ใน BIOS ของคุณ
Onshop

44

วิธีแก้ปัญหาที่ฉันพบคือการตรวจสอบตัวเลือกการเชื่อมต่อสายเคเบิลในอะแดปเตอร์ 1 ซึ่งต่อกับ NAT ฉันไม่รู้จริง ๆ นี่คือกล่องคนจรจัดลำดับที่ 4 ของฉัน แต่นี่เป็นกล่องเดียวที่มีตัวเลือกการเชื่อมต่อสายเคเบิลที่ไม่ได้ตรวจสอบและเมื่อตรวจสอบแล้วมันก็ใช้งานได้ การเชื่อมต่อสายเคเบิล NAT


1
ฉันใช้ Homestead 1.0.1 และ VirtualBox 5.0.28 และฉันแก้ไขปัญหาด้วยคำตอบนี้
Pablo Ezequiel Leone

ผ่าน GUI ฉันสามารถเห็นได้ว่ากำลังรออินเทอร์เฟซเครือข่ายและจากนั้นก็แก้ปัญหาได้ Thank.s
nsc_feabhas

เหมืองที่แก้ไขแล้วนี้ +1
Zac Grierson

สิ่งนี้แก้ไขปัญหาของฉัน: Vagrant 1.9; Virtualbox 5.1; Laravel / Homestead 5.3
J. LaRosee

34

ฉันมีปัญหาเดียวกันทุกประการ ผมคิดว่าอาจจะมีปัญหากับคีย์ SSH (แปลผิดของไฟล์หรือสิ่งอื่น แต่ผมตรวจสอบมาหลายครั้ง) แต่คุณอาจจะเพิ่มชื่อผู้ใช้ส่วนกำหนดค่าและรหัสผ่าน (โดยไม่ต้องใช้กุญแจ SSH) และทำงาน GUI เพื่อให้รหัสในVagrantfileควรมอง ชอบมากหรือน้อยดังต่อไปนี้:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"

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

ในกรณีของฉันแม้ว่าจะแสดง GUI ฉันได้หน้าจอสีดำ (ไม่มีข้อผิดพลาดหรือความเป็นไปได้ที่จะเข้าสู่ระบบหรือสิ่งอื่นใด) และในคอนโซลฉันได้รับError: Connection timeout. Retrying...หลายครั้ง ฉันแน่ใจว่าฉันเปิดใช้งาน VT-x (การจำลองเสมือน) ใน BIOS ฉันตรวจสอบชุดของทั้ง Virtual Box และ Vagrant หลายรุ่นพร้อมกันและ Vagrant หลายกล่อง (สำหรับบางคนฉันไม่ได้มีหน้าจอสีดำใน GUI แต่ยังมีการเชื่อมต่อ ปัญหา) ในที่สุดฉันก็ได้อัปเดต VirtualBox และ Vagrant อีกครั้งเป็นเวอร์ชันล่าสุดและปัญหายังคงเกิดขึ้น

สิ่งสำคัญคือการดูไอคอนใน VirtualBox หลังจากรัน vagrantup (ด้วย GUI ในVagrantfileขณะที่ฉันแสดงให้เห็นข้างต้น) เป็นภาพด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

แม้ว่าฉันจะไม่มีข้อผิดพลาดใน VirtualPC (ไม่มีคำเตือนว่า VT-x ไม่ได้เปิดใช้งาน) Vไอคอนของฉันเป็นสีเทาก่อนหน้าดังนั้นจึงหมายความว่า VT-x ถูกปิดใช้งาน อย่างที่ฉันบอกว่าฉันได้เปิดใช้งานใน BIOS ตลอดเวลา

ในที่สุดฉันก็ตระหนักถึงปัญหาที่อาจHYPER-Vติดตั้งและเปิดใช้งานเพื่อทดสอบไซต์บน Internet Explorer รุ่นเก่า ฉันไปที่ Windows Control Panel -> Programs and functions / Softwareแล้วเลือกจากเมนูทางซ้ายTurn on or Turn off Windows functions(หวังว่าคุณจะเจอพวกนั้นฉันใช้ Polish Windows ดังนั้นไม่รู้ชื่อภาษาอังกฤษที่แน่นอน) ฉันปิด Hyper-V รีสตาร์ท PC และหลังจากใช้งาน Virtual Box และvagrant upในที่สุดฉันก็ไม่มีข้อผิดพลาดใน GUI ฉันมีหน้าจอเข้าสู่ระบบและVไอคอนของฉันหยุดเป็นสีเทา

ฉันเสียเวลามากในการแก้ปัญหานี้ (และรีสตาร์ท PC หลายครั้ง) ดังนั้นฉันหวังว่านี่จะเป็นประโยชน์กับทุกคนที่มีปัญหาใน Windows - ตรวจสอบให้แน่ใจว่าคุณปิด Hyper-V ในแผงควบคุมของคุณ


1
นั่นคือปัญหา! เปิดใช้งานการจำลองเสมือนบน BIOS และปิดใช้งาน HYPER-V ภายในโปรแกรมและฟังก์ชั่น ทำงานเป็นเสน่ห์ !!
Heroselohim

@Heroselohim ดีใจที่ได้ช่วยคุณใช้เวลามากในการแก้ปัญหา
Marcin Nabiałek

1
รหัสผ่าน ssh อย่างชัดเจนช่วยฉันได้เมื่อโฟลเดอร์ที่มีโฟลเดอร์ย่อย dot vagrant อยู่ใน Dropbox หรือใช้ร่วมกันเป็นอย่างอื่นระหว่างเครื่องที่มีคีย์ ssh ที่แตกต่างกัน
mlt

31

Mine ทำงานได้ดีและจากนั้น "คำเตือน: การเชื่อมต่อระยะไกลตัดการเชื่อมต่อลองใหม่ ... " ซ้ำแล้วซ้ำอีก - อาจจะ 20 ครั้ง - จนกว่าจะเชื่อมต่อ จากคำตอบข้างต้นฉันแค่

vagrant destroy
vagrant up

และมันก็เป็นสิ่งที่ดี Mine เป็นเรื่องง่ายมาก แต่ฉันทำแบบนั้นโดยลดไฟล์ Vagrantfile ลงไปconfig.vm.box = "ubuntu/trusty64"และมันก็ยังทำอยู่ นั่นคือเหตุผลว่าทำไมการทำลายและการเริ่มต้นใหม่จึงเป็นทางเลือกที่ดีที่สุด ด้วยลักษณะไร้สัญชาติของภาพคนจรจัดเหล่านี้ฉันไม่เห็นสาเหตุที่ไม่สามารถใช้ได้ในทุกกรณี ฉันเพิ่งเข้ามาและฉันก็อาจเรียนรู้ว่ามันไม่เป็นความจริง


ทางออกที่ดีถ้าคุณสามารถจัดเตรียม vm ของคุณ ในกรณีของฉันการสร้าง vm มีความซับซ้อนมากขึ้นและจะใช้เวลามากขึ้น
user12121234

5
ใช่ฉันตั้งค่านามแฝงและสิ่งอื่น ๆ บน VM ของฉันทำลายมันไม่ใช่คำตอบที่ยอดเยี่ยมจริงๆ
Batman

ดีฉันพยายามหลายครั้งด้วยvragant haltแต่งานนี้สมบูรณ์แบบ!
Med

ใช้งานได้ดีสำหรับฉันฉันกำลังเผชิญหน้ากับปัญหาการรีเซ็ตการเชื่อมต่อ localhost และสิ่งนี้และการทำลายและการสร้างคนพเนจรแก้ไขอีกครั้ง
shivgre

19

ฉันประสบปัญหาเดียวกันในเครื่อง Windows 8.1 การหมดเวลาเชื่อมต่อและการเปิดใช้งาน gui ไม่ได้เป็นประโยชน์เลยหน้าจอเป็นสีดำ การแก้ไขในกรณีของฉันถูกปิดใช้งาน "Hyper V"

อ้างจากเอกสาร Vagrant https://docs.vagrantup.com/v2/hyperv/index.html

คำเตือน: การเปิดใช้งาน Hyper-V จะทำให้ VirtualBox, VMware และเทคโนโลยีการจำลองเสมือนอื่น ๆ ไม่ทำงานอีกต่อไป ดูโพสต์บล็อกนี้https://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspxสำหรับวิธีง่ายๆในการสร้างรายการบูตเพื่อบูต Windows โดยไม่ต้องเปิดใช้ Hyper-V


5
สิ่งนี้ใช้ได้สำหรับฉัน ฉันเพียงแค่ปิดการใช้งาน Hyper-V ในโปรแกรมและคุณสมบัติ
stringo0

ฉันได้ลองวิธีแก้ไขปัญหาก่อนหน้านี้ทั้งหมดแล้วและนี่ก็ใช้ได้กับฉันเช่นกัน!
Gilberto Albino

17

หากคุณกำลังทำงานบน Windows 8 หรือ 10 นี่คือสิ่งที่ใช้ได้กับฉัน:

  1. เปลี่ยนการตั้งค่า BIOS เพื่ออนุญาตการจำลองเสมือน 64 บิต
  2. นี่คือวิธี:
    • รีสตาร์ทพีซีโดยใช้การเริ่มต้นขั้นสูง (ไปที่การเริ่มต้นขั้นสูง - 'เริ่มทันที' - 'แก้ไขปัญหา' - 'ตัวเลือกขั้นสูง' - 'การตั้งค่าเฟิร์มแวร์ UEFI' - 'เริ่มต้นใหม่')
    • ภายในหน้าต่าง BIOS - ไปที่เมนู / แท็บ 'ขั้นสูง' - เปิดใช้งาน 'Intel Virtual Technology'
    • บันทึกและออก

2
เหมือนกันที่นี่บนสมุดบันทึก T440p
เดี่ยว

กันที่นี่ บนเครื่องของฉันมันหมายถึงการเปิดใช้งานการจำลองเสมือน Vt-x
Erez Cohen

ขอบคุณ! การจำลองเสมือนถูกปิดใช้งานในการตั้งค่า BIOS ของฉัน ก่อนหน้านี้ฉันเคยใช้คนจรจัดในเครื่องเดียวกัน แต่ด้วยเหตุผลบางอย่างการตั้งค่า BIOS ก็เปลี่ยนไปโดยที่ฉันไม่รู้ ดังนั้นตรวจสอบการตั้งค่านี้ก่อน
Bahman.A

8

ฉันมีปัญหากับกล่องที่มีอยู่ (ไม่แน่ใจว่ามีอะไรเปลี่ยนแปลง) แต่ฉันสามารถเชื่อมต่อผ่าน SSH ได้แม้ว่ากล่อง Vagrant จะไม่สามารถบู๊ตได้ เมื่อมันเกิดขึ้นกุญแจ SSH ของฉันก็เปลี่ยนไปอย่างใด

จากโฟลเดอร์รากคนจรจัดฉันวิ่งvagrant ssh-configซึ่งบอกฉันว่าไฟล์กุญแจคืออะไร ฉันเปิดมันด้วยputtygenแล้วมันให้คีย์ใหม่แก่ฉัน

ในแขกลินุกซ์ของฉันฉันแก้ไข~/.ssh/authorized_keysและวางกุญแจสาธารณะใหม่ในนั้น

ทุกอย่างทำงานได้อีกครั้ง - ตอนนี้!


8

ฉันมีปัญหาเดียวกันหลังจากฉันลบบรรทัดนี้จาก Vagrantfile ของฉัน:

config.vm.network "private_network", type: "dhcp"

VM โหลดได้ดีหลังจากฉันนำบรรทัดนี้กลับมา


ฉันใช้กล่องสก็อตต์ทั้งหมดที่ฉันทำคือไม่ใส่เครื่องหมายในบรรทัดconfig.vm.networkและแก้ไขปัญหาได้
Alexar

5

การหมดเวลาการเชื่อมต่อ SSH ระหว่างการบูทครั้งแรกอาจเกี่ยวข้องกับหลายสาเหตุเช่น:

  • ตรวจสอบว่าการเปิดใช้งานการจำลองเสมือนใน BIOS (ตามความคิดเห็น )
  • ระบบกำลังรอการโต้ตอบกับผู้ใช้ (เช่นการแบ่งพาร์ติชันยังไม่พร้อม )
  • คีย์ส่วนตัวของคุณไม่ตรงกัน (ตรวจสอบการตั้งค่าผ่านvagrant ssh-config)
  • กระบวนการบูทใช้เวลานานขึ้น (ลองเพิ่มขึ้นconfig.vm.boot_timeout)
  • มันกำลังบูตจากไดรฟ์ที่ไม่ถูกต้อง (เช่นจาก ISO ตัวติดตั้ง)
  • การกำหนดค่าไฟร์วอลล์ผิดพลาดของ VM (เช่นiptablesการกำหนดค่า )
  • กฎไฟร์วอลล์ท้องถิ่นข้อขัดแย้งพอร์ตหรือข้อขัดแย้งกับซอฟต์แวร์ VPN
  • sshd การกำหนดค่า

ในการแก้ไขปัญหาโปรดเรียกใช้--debugตัวเลือกหรือชอบ:

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 ของคุณด้วย


สำหรับข้อมูลเพิ่มเติมให้ตรวจสอบการแก้จุดบกพร่องและการแก้ไขปัญหาหน้า


4

ฉันมีปัญหาเดียวกัน แต่ไม่มีคำตอบอื่นใดแก้ปัญหาของฉันได้อย่างสมบูรณ์ คำตอบโดย @Kiee นั้นมีประโยชน์ถึงแม้ว่าสิ่งที่ฉันเห็นใน GUI คือหน้าจอสีดำ (ด้วยการขีดเส้นใต้ที่มุมบนซ้ายปัญหานี้ใน Virtual Box ยังได้รับการยกแยกต่างหากในสแตกล้นไม่มีอะไรช่วยอีก)

ในที่สุดโซลูชันได้พิสูจน์แล้วว่าง่ายมาก: ตรวจสอบเวอร์ชั่นของเครื่องเสมือนของคุณ

อย่างแม่นยำยิ่งขึ้นฉันมีกล่องจากคนอื่นที่มี 64- บิต Debian แต่ Virtual Box ยืนยันว่าจะใช้เป็นแบบ 32 บิตสิ่งที่ฉันไม่ได้สังเกตเห็น หากต้องการเปลี่ยนให้เปิด Virtual Box จากนั้นเปิดเทอร์มินัลแล้วเรียกใช้

vagrant up

รอสาย

default: SSH auth method: private key

ตอนนี้คุณสามารถกด ctrl + C (หรือรอการหมดเวลา) แล้วเรียกใช้

vagrant halt

เครื่องเสมือนของคุณจะไม่ถูกทำลายดังนั้นคุณสามารถดูได้ในเมนูของ Virtual Box แต่จะถูกปิดเพื่อให้คุณสามารถเปลี่ยนการตั้งค่า เลือกเครื่องของคุณในเมนูคลิก 'การตั้งค่า' -> 'ทั่วไป' และเลือก 'เวอร์ชั่น' ที่เหมาะสมสำหรับฉันมันคือ 'เดเบียน (64 บิต)' หลังจากประเภทนี้vagrant upอีกครั้ง

หากเป็นกรณีสำหรับคุณ (หรือการเปลี่ยนแปลงที่แตกต่างกันใน 'การตั้งค่า' แก้ไขปัญหาของคุณ) คุณสามารถสร้างกล่องใหม่จากการพิมพ์หนึ่งครั้งที่ได้รับการซ่อมแซม

vagrant package --output mynew.box

รายละเอียดเพิ่มเติมบางอย่าง: โฮสต์ 32- บิต Ubuntu 12.04, แขก 64- บิต Debian 8.1, กล่องเสมือน 5.0.14, Vagrant 1.8.1


ฉันมีสถานการณ์เดียวกันฉันสูญเสียวันนี้และฉันไม่มี 64 บิตในรายการแบบเลื่อนลงที่นั่นดังนั้นฉันจึงแก้ไขfixedbyvonnie.com/2014/11//และแก้ไขมัน
Alex Sutu

4

มีคำตอบที่ดีมากมายที่นี่และฉันไม่สามารถอ่านได้ทั้งหมด แต่ฉันเพิ่งมาเพื่อบริจาคเงินเล็กน้อยเช่นกัน ฉันมีปัญหาที่แตกต่างกัน 2:

  1. vagrant upไม่พบ ssh ของฉัน ' id_rsa ' (เพราะฉันยังไม่มีในตอนนั้น): ฉันวิ่งssh-keygen -t rsa -b 4096 -C "myemailaddress@mydomain.com"ตามบทความของ GitHubและvoiláที่ผ่านมา

  2. จากนั้นฉันก็มีปัญหาเดียวกันกับคำถามนี้ " คำเตือน: การเชื่อมต่อหมดเวลาลองอีกครั้ง ... " ชั่วนิรันดร์ ... : ดังนั้นหลังจากอ่านมากฉันได้เริ่มระบบของฉันใหม่และดู BIOS ของฉัน (F2 เพื่อรับ มีในเครื่องคอมพิวเตอร์) และมีการจำลองเสมือนสำหรับผู้พิการ ฉันได้เปิดใช้งานนั้นบันทึกและเริ่มต้นระบบอีกครั้งเพื่อตรวจสอบว่ามีการเปลี่ยนแปลงอะไรหรือไม่

หลังจากนั้นvagrant upทำงานเหมือนจับใจ! มันคือตีสี่ แต่มันก็วิ่ง! เย็นแค่ไหน? : D อย่างที่ฉันรู้ว่ามีนักพัฒนาที่ทำโทษตัวเองน้อยมากเช่นฉันที่จะลองทำสิ่งนี้ที่ Windows โดยเฉพาะที่Windows 10ฉันไม่สามารถลืมที่จะมาที่นี่และออกจากคำพูดของฉัน ... ข้อมูลสำคัญอื่นคือ ฉันพยายามตั้งค่าLaravel 5โดยใช้ Homestead, VirtualBox, ผู้แต่ง ฯลฯ มันใช้ได้แล้ว ดังนั้นหวังว่าคำตอบนี้จะช่วยได้เช่นคำถามนี้และคำตอบช่วยฉันได้ ความปรารถนาดีที่สุดของฉัน G-ลาก่อน!


4

ฉันถูกทดสอบโฟลเดอร์ที่ติดตั้งใน VM /etc/fstabของฉันคนจรจัดโดยการเพิ่มรายการใหม่เข้ามา ต่อมาเมื่อฉันออกจากระบบวิ่งหยุดคนจรจัด แต่เมื่อฉันวิ่งvagrant upฉันได้:

SSH auth method: private key
Warning: Remote connection disconnect. Retrying...

ฉันอ่านข้อความเหล่านี้ทั้งหมดและลองทุกบทที่เกี่ยวข้องกับคดีของฉัน (ยกเว้นการทำลายคนพเนจรซึ่งจะแก้ไขปัญหาของฉันได้อย่างแน่นอน แต่เป็นวิธีสุดท้ายในกรณีของฉัน) โพสต์โดย @Kiee ทำให้ฉันมีความคิดที่จะลองบูต VM ของฉันโดยตรงจาก VirtualBox GUI ในระหว่างกระบวนการบู๊ต VM นั้นหยุดตัวเองและถามฉันว่าฉันต้องการข้ามการติดตั้งโฟลเดอร์ทดสอบที่ฉันเพิ่มไว้ก่อนหน้านี้/etc/fstabหรือไม่ (นั่นเป็นสาเหตุที่คนเร่ร่อนไม่สามารถบูต VM ได้) หลังจากตอบ 'ไม่' VM ก็ไม่ได้มีปัญหา ฉันเข้าสู่ระบบลบสายซนออกจาก fstab ของฉันและปิด VM

หลังจากคนเร่ร่อนนั้นก็สามารถบูตได้ดี

Takeaway? หากคนจรจัดกะทันหันทั้งหมดไม่สามารถบูตกลับเข้าไปใน VM ของคุณลองบูตจากผู้ให้บริการโดยตรง (VirtualBox ในกรณีของฉัน) โอกาสที่บูตของคุณจะถูกแขวนสำหรับสิ่งที่ไม่เกี่ยวข้องกับ SSH โดยสิ้นเชิง


3

ฉันมีปัญหาเดียวกันเมื่อฉันใช้กล่อง x64 (chef / ubuntu-14.04)

ฉันเปลี่ยนเป็น x32 และใช้งานได้ (hashicorp / precision32)


ปัญหาของคุณอาจเป็นได้ว่าคุณกำลังใช้งาน Hyper-V ดูคำตอบของ @ Kri ด้านบนฉันพบปัญหาเกี่ยวกับ x64 ใน x64 เพราะฉันกำลังใช้งาน Hyper-V
Ian M

3

บางทีนี่อาจเป็นคำตอบที่ง่ายเกินไปที่จะช่วยผู้คนจำนวนมาก แต่ก็น่าลองถ้าคุณยังไม่ได้: ทำ "หยุดคนจรจัด" แทน "คนจรจัดหยุดชั่วคราว" จากนั้นเริ่ม VM ใหม่ด้วย "คนจรจัด"

ฉันคิดว่าปัญหาของฉันเกิดจากกระบวนการ "kworker" บางอย่างทำให้การบั๊กและหมดเวลาใน VM ดังนั้นการรีบูตเครื่องอย่างหนักดูเหมือนจะโหลดกระบวนการใหม่อย่างถูกต้องในขณะที่การบันทึกและกู้คืนเป็นเพียงการเรียกคืนกระบวนการที่เสียหาย


ว้าว. ในที่สุด. สิ่งนี้ใช้ได้สำหรับฉัน กำลังใช้งานวินโดวส์ 7 @ ขอบคุณแอมบูลาร์!
Emeka Mbah

3

ฉันได้รับสิ่งนี้เมื่อใช้งานคนจรจัด / VirtualBox ภายใน VirtualBox ฉันแก้ไขปัญหานี้ด้วยการใช้งานเครื่องคนเร่ร่อนในเครื่องโฮสต์


3

ฉันพบว่าใน MacOS ด้วย VirtualBox การเพิ่มสิ่งนี้ลงใน Vagrantfile จะช่วยให้คุณดำเนินการต่อไปได้:

config.vm.provider 'virtualbox' do |vb|
  vb.customize ['modifyvm', :id, '--cableconnected1', 'on']
end

มันใช้งานได้สำหรับฉันหลังจากตรวจสอบปัญหานี้เป็นเวลาหลายชั่วโมง!
โซริน

ดีใจที่ได้ช่วย :)
เดวิด

2

การติดตั้งบิต ubuntu32 บน AMD64 บิตนั้นเป็นเคล็ดลับ ฉันไม่สามารถเข้าถึง BIO ได้เนื่องจากเป็นสภาพแวดล้อมที่ จำกัด แต่ฉันก็ยังสามารถใช้งานได้กับ ubuntu / trusty32 แทนที่จะเป็น ubuntu / trusty64

ใช้ Vagrant 1.6.3 กับ VirtualBox 4.3.15 บน Windows 7 SP1

หวังว่าจะช่วย


2

สำหรับฉันมันเป็นความเข้ากันได้ระหว่างคนจรจัดและกล่องเสมือน

ฉันใช้ windows 10 และฉันถอนการติดตั้งกล่องเสมือนจริงและสิ่งที่ฉันทำ

จากนั้นติดตั้งกล่องเสมือนรุ่นเก่าโดยเฉพาะรุ่น 4.3.38 (ติดตั้งชุดส่วนขยายสำหรับรุ่นนี้ด้วย)

จากนั้นติดตั้งสำเนาคนจรจัดล่าสุด (1.8.5 ในขณะนี้)

หลังจากนั้นก็ใช้งานได้


มีปัญหาเดียวกันที่นี่ Virtualbox มีการอัปเดตให้ใช้งาน การอัปเดตนั้นและคำสั่ง "คนจรจัดทำลาย" และ "คนจรจัดขึ้น" แก้ไขมัน
mrBrown

1

หากคุณไม่ต้องการเปิดใช้งาน GUI และต้องปิดใช้งานในภายหลังคุณสามารถติดตั้งส่วนขยายแพ็คจาก Oracle:

http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html#extpack

จากนั้นใส่สิ่งนี้ลงใน Vagrantfile ของคุณเพื่อเปิดใช้งาน VRDP:

vb.customize ["modifyvm", :id, "--vrde", "on"]

ตอนนี้คุณสามารถใช้ RDP เพื่อเชื่อมต่อกับกล่องของคุณได้ตามต้องการโดยไม่ต้องใช้ SSH หรือเปิด GUI ตลอดเวลา


1

อีกวิธีหนึ่งที่เป็นไปได้สำหรับผู้ใช้ผู้ให้บริการ VMware: สำหรับฉันปัญหาได้รับการแก้ไขหลังจากลบการติดตั้ง VirtualBox แบบขนานบนเครื่องโฮสต์เดียวกัน เน็ตเวิร์กอินเตอร์เฟสระหว่าง VMware และ VirtualBox มีข้อขัดแย้งที่เห็นได้ชัด


1

ฉันประสบปัญหาเดียวกัน ฉันแก้ไขสิ่งนี้โดยเปิดใช้งานVirtualizationจากBIOSการตั้งค่า


1
ตอบโต้ใน BIOS ของฉันฉันต้องปิดการใช้งานระบบเสมือนจริงและเปิดใช้งาน VT-X ลองสลับการตั้งค่าเหล่านี้ใน BIOS ของคุณ
Onshop

1

ลบไฟล์:

C:\Users\UserName\\.vagrant.d\insecure_private_key

จากนั้นเรียกใช้:

vagrant up

ฉันค้นหาทางอินเทอร์เน็ตเป็นเวลาสามวันและพยายามแก้ปัญหาทุกอย่างที่ฉันเจอ เท่านั้นที่จะค้นพบว่ามันสามารถทำได้ง่ายอย่างนี้ ผู้กล้าของฉัน. ขอบคุณ! +1
Robin van Baalen

ไม่ได้สร้างความแตกต่างให้ฉัน ฉันมี mac, Vagrant 1.9.3
Razvan Tudorica

1

สิ่งที่ใช้ได้ผลสำหรับฉันคืออนุญาตให้ใช้การจำลองเสมือนแบบ 64 บิตบนระบบปฏิบัติการ 64 บิต (Ubuntu 13.10) จาก BIOS


คุณกำลังพูดถึง virtualization 64 บิต!
ดูแลเว็บ

1

ตรวจสอบว่าซีพียูเสมือนจริงของคุณเปิดใช้งานการตั้งค่า BIOS


1

ในกรณีของฉันให้ที่อยู่ IP แบบคงที่เพียงแค่แก้ไขปัญหา:

config.vm.network "private_network", ip: "192.168.50.50"


0

FWIW - ปัญหาของฉันเกิดจากการใช้ไฟล์ปรับแต่งเก่าจริง ๆ แทนที่จะเป็นไฟล์ใหม่ การใช้ไฟล์กำหนดค่าใหม่ (และปรับแต่ง / เปลี่ยน DSL) แก้ไขปัญหาของฉันทันที


0

สิ่งที่ช่วยฉันคือการเปิดใช้งานการจำลองเสมือนใน BIOS เนื่องจากเครื่องไม่บู๊ต


ตอบโต้ใน BIOS ของฉันฉันต้องปิดการใช้งานระบบเสมือนจริงและเปิดใช้งาน VT-X ลองสลับการตั้งค่าเหล่านี้ใน BIOS ของคุณ
Onshop

0

แทนที่จะ ctrl-d-ing ออกจากกล่องเสมือนเพราะฉันจะไม่ทำเมื่อใดก็ตามที่ฉันทำอะไรฉันเชื่อว่าคนจรจัดอยากให้คุณเข้าไปในอาคารอื่นและทำ:

vagrant halt

เพื่อหยุดกล่อง จากนั้นจะไม่มีปัญหาในการกลับเข้าสู่ VB


1
ctrl+dออกจากระบบ ไม่มีอะไรผิดปกติกับการทำเช่นนั้นและมันไม่ได้ทำอะไรกับเครื่องที่กำลังทำงานอยู่ vagrant haltหยุดเครื่องเสมือน
Zoltan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.