Ssh Vagrant thất bại với VirtualBox


39

thất bại khi thất bại khi đến phần ssh:

myterminal$ vagrant up
[default] VM already created. Booting if its not already running...
[default] Running any VM customizations...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- ssh: 22 => 2222 (adapter 1)
[default] -- db2: 30003 => 30003 (adapter 1)
[default] Cleaning previously set shared folders...
[default] Creating shared folders metadata...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

Sau đó, khi tôi sau đó thử và kết nối bằng cách sử dụng ssh vagrant hoặc tải lại vagrant hoặc tương tự, tôi nhận được điều này:

myterminal$ vagrant reload
[default] Attempting graceful shutdown of linux...
SSH connection was refused! This usually happens if the VM failed to
boot properly. Some steps to try to fix this: First, try reloading your
VM with `vagrant reload`, since a simple restart sometimes fixes things.
If that doesn't work, destroy your VM and recreate it with a `vagrant destroy`
followed by a `vagrant up`. If that doesn't work, contact a Vagrant
maintainer (support channels listed on the website) for more assistance.

Hãy giúp tôi! Tôi thực sự bối rối.

Trân trọng,

Luke

Câu trả lời:


10

Tôi đã thấy vấn đề này với thiết lập của mình và cuối cùng đã thu hẹp nó xuống thực tế là tôi đã thêm một tên vào tệp máy chủ cục bộ. Vì vậy, tôi đã có:

127.0.0.1 localhost myname myalias

Đã xóa cái myaliasmà tôi đã thêm và nó khởi động ổn. Cảm ơn @saphirlazuli vì manh mối liên quan đến mạng.


Cách giải quyết nếu tôi muốn bảo tồn myalias là gì?
Mickey Cheong

Nếu bạn muốn sử dụng bí danh, cách Debian / Ubuntu là giữ dòng đầu tiên như bình thường 127.0.0.1 localhost, nhưng thêm dòng thứ hai với bí danh của bạn, như vậy:127.0.1.1 foo bar baz
CodeGnome

26

Tôi đã gặp vấn đề tương tự với hộp được đưa ra trong trang "Bắt đầu" của trang Vagrant. Giải pháp của tôi dưới đây là cho hộp hướng dẫn này.

Tôi tìm một giải pháp ở đây: https://github.com/mitchellh/vagrant/issues/391

  1. trong VagrantFile, thêm chế độ gui: config.vm.boot_mode = :gui
  2. chạy vagrant up
  3. trong gui, đăng nhập với người dùng "vagrant" (password = "vagrant")
  4. int gui, chạy sudo /etc/init.d/networking restart, trong /etc/network/interfacestập tin, bây giờ bạn phải có một phần với#VAGRANT-BEGIN [...]#VAGRANT-END
  5. chạy vagrant reloadtrên máy vật lý

3
Điều này làm việc cho tôi, cảm ơn. Tôi đã có Vagrant chạy trước đó, sau đó nó ngừng hoạt động với một hộp mới. Bất cứ ý tưởng những gì gây ra nó?
Andrew Vit

sudo /etc/init.d/networking restart hoạt động với tôi, cảm ơn!
Anatoly

2
Tôi đã khởi động lại, nhưng trong / etc / mạng / giao diện tôi không có phần với # VAGRANT-BEGIN [...] # VAGRANT-END, có manh mối nào không? Tôi có thể thêm nó bằng tay không?
sparrovv

1
Tôi nhận đượcThe following settings shouldn't exist: boot_mode
Calin

1
Có phiên bản mới nhất, bạn phải đặt v.gui = true cho cấu hình nhà cung cấp
Calin

6

Đây là một vấn đề không liên tục đối với tôi và dường như chắc chắn có liên quan đến mạng. Tôi tìm thấy một số thông tin hữu ích hơn tại các vấn đề của Vagrant GitHub # 391# 455 . Tôi đã thử xóa mạng chỉ sử dụng máy chủ không sử dụng của mình trong cài đặt VirtualBox (được khuyến nghị là cách khắc phục tiềm năng trong một trong các sự cố GitHub) mà dường như không có ích.

Bắt đầu trong chế độ gui (như được mô tả trong câu trả lời trước) là một cách tuyệt vời để gỡ lỗi / khắc phục sự cố. Tôi thấy rằng vì lý do nào, VM không thể có được địa chỉ IP khi khởi động. Bắt đầu ở chế độ GUI sau đó đăng nhập (vagrant / vagrant) và chạy sudo dhclienttrong hệ điều hành khách sẽ lấy lại địa chỉ IP và quá trình thiết lập Vagrant sẽ hoàn tất thành công.

Vẫn đang tìm kiếm một sửa chữa vĩnh viễn mặc dù.

Hi vọng điêu nay co ich!

[EDITED TO ADD]: Một đề xuất hữu ích đã được thêm vào Vấn đề GitHub # 455 liên quan đến việc thêm cấu hình sau vào Vagrantfile:

config.ssh.max_tries = 150

Điều này hiện đang làm việc cho tôi và dường như có ý nghĩa vì vấn đề dường như có liên quan đến thời gian chờ - tăng số lần thử sẽ tăng xác suất quá trình SSH thành công kịp thời. Đó là một vấn đề không liên tục ở nơi đầu tiên vì vậy tôi sẽ bảo lưu phán quyết trong một thời gian, nhưng ngón tay vượt qua nó sẽ hoạt động! Cảm ơn karel1980 đã đề xuất sửa chữa.


Xóa mạng chỉ lưu trữ không sử dụng của tôi trong cài đặt VirtualBox làm việc cho tôi! Cảm ơn bạn!
Công tước

1
Có vẻ như cài đặt này được mô tả vào ngày 1.3.X - github.com/berkshelf/berkshelf/pull/856
Jeremy Hajek

5

Nếu vagrant upthất bại, tôi khuyên bạn nên như sau:

  1. Khởi động với chế độ gui : điều này giúp xem hình ảnh có bị hỏng không (hoặc ví dụ: trước khi bắt đầu cung cấp), hãy đặt config.vm.boot_mode = :guitrongVagrantfile
  2. Ghi nhật ký gỡ lỗi : chạy việc cung cấp với gỡ lỗi ,chef.log_level = :debug
  3. Đóng gói lại hộp : đôi khi bạn cần cài đặt một cái gì đó trước khi mọi thứ khác chạy - để khởi động bootstrapper. Điều đó không thực sự khả thi, vì vậy cách dễ nhất là khởi động vm mà không cần cung cấp, cài đặt bất cứ thứ gì bạn cần và đóng gói lại hộp ( vagrant box repackage foosau vagrant import foođó thêm foovào Vagrantfile)

Lưu ý: chế độ gui có thể có các vấn đề khác, ví dụ như đối với tôi không có quy định nào hoạt động với vagrant 0.7.5khi gui được bật. Nó vẫn còn tuyệt vời để gỡ lỗi hộp thực tế mặc dù.


2

Loại thẻ mạng của tôi ban đầu được đặt thành 82540EM. Tôi đã thay đổi nó Am79C973và bây giờ Vagrant up hoạt động mọi lúc. Tôi đã bắt đầu nhiều máy ảo, thậm chí khởi động lại máy chủ và nó vẫn hoạt động.

Lệnh là:

VBoxManage modifyvm yourmachinename --nictype1 Am79C973

Nhớ đóng gói lại và lắp lại hộp của bạn vào Vagrant.

Tôi đang chạy Debian Squeeze 64-bit với tư cách là máy chủ và khách, sử dụng VirtualBox 4.1.16 trên máy Core i7-2600.


1

Nếu mô-đun hạt nhân đã được cài đặt, hãy thử khởi động VM trực tiếp với VirtualBox. Điều này sẽ cho bạn thấy bất kỳ lỗi khởi động nào gặp phải khi khởi động VM. Các sự cố như lỗi hệ thống tệp sẽ ngăn trình nền máy chủ SSH hoạt động chính xác.


1

Tôi gặp vấn đề tương tự trên osx (VirtualBox 4.1.0 và Vagrant 0.8.6) và đối với tôi, sự giúp đỡ duy nhất là:

  1. đăng nhập bằng: gui bằng cách đăng nhập / pass: vagrant / vagrant
  2. sửa đổi tập tin /etc/rc.local búa để bao gồm dòng dòng sh sh /etc/init.d/networking restart ngay trước khi thoát exit 0 “.
  3. vô hiệu hóa
  4. tải lại

Tôi đã tìm thấy điều này tại: https://github.com/mitchellh/vagrant/issues/391 thx mikhailov.


1

Tôi có vấn đề này như nhau. Trong trường hợp của tôi, mô phỏng 64 bit không được kích hoạt. Kích hoạt tính năng này trong bios của tôi đã khắc phục sự cố.


1

Hộp khách của tôi sẽ không khởi động đúng cách do sự cố đĩa.

Tôi buộc VM phải đóng qua

PowerBox kiểm soát VBox

Sau đó, tôi đã sửa đổi Vagrantfileđể bao gồm dòng này:

config.vm.boot_mode =: gui

Tiếp theo, tôi chạy lại

mơ hồ lên

Trong GUI xuất hiện, tôi phải chạy tiện ích 'sửa lỗi đĩa'.

Sau khi chạy tiện ích đĩa, VM của tôi đã được khởi động thành công và sau đó tôi có thể chạy vagrant ssh.


1

Tôi đã bỏ qua phần trong Vagrantfile như thế này:

  config.vm.provider :virtualbox do |vb|
    # Don't boot with headless mode
    vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    # vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

Tôi đã lưu nó và sau đó tôi đã làm

vagrant reload

và sau đó mọi thứ hoạt động tốt. Tôi không chắc tại sao điều đó đã sửa nó mặc dù.


0

Loại sudo /etc/init.d/vboxdrv setup. Nó sẽ hoạt động.


0

Vấn đề của tôi là

/etc/hosts

Tôi đã nhập cảnh

127.0.1.1 lucid32

nơi như tên hộp của tôi là lucidtest, tôi đã thay đổi dòng trên để

127.0.1.1 lucidtest

va no đa hoạt động.


0

Thông báo này cho thấy máy chủ ssh không chạy trên VM. hãy chắc chắn rằng nó đã được cài đặt

sudo apt-get install openssh-server

và chạy

ssh localhost

không nên đưa ra một lỗi.

Để loại trừ lỗi trong vagrant, bạn nên thử ssh vào vm trực tiếp bằng cách:

ssh vagrant @ localhost -p2222

(giả sử người dùng mặc định và chuyển tiếp cổng)


0

Trên windows 7 chạy

vagrant ssh

nếu bạn nhận được một cái gì đó như thế này ...

`vagrant ssh` isn't available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
PuTTY). The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: U:/.vagrant.d/insecure_private_key

Sau đó, bạn nên sử dụng một cái gì đó như thế này ...

ssh vagrant@127.0.0.1 -p 2222 -i /cygdrive/u/.vagrant.d/insecure_private_key

Lưu ý rằng tôi đang sử dụng cygwin trên hộp cửa sổ của mình chứ không phải Putty.


OP không sử dụng Windows 7.
Tanner Faulkner

Cảm ơn bạn r.tanner.f - Không có hệ điều hành nào được chỉ định, điều này đã giúp tôi, hy vọng sẽ giúp được người khác.
Artistan

Không biết lý do tại sao bạn bị hạ thấp, điều này có vẻ như có thể giúp đỡ người khác
Đánh dấu

0

Đây là một lý do có thể cho lỗi:

[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

Tên người dùng có thể được chỉ định trong tệp cấu hình như thế này:

config.ssh.username = "badusername"

Nếu tên người dùng đó không tồn tại hoặc không thể đăng nhập vì một số lý do, cả bạn và Vagrant đều không thể SSH vào VM. Do đó Vagrant sẽ "không kết nối được", ngay cả khi VM thực tế đang chạy và hoạt động đúng.


0

Vấn đề của tôi là vagrant sshsẽ không làm gì cả.

Tôi đã gỡ bỏ ~/.ssh/configvà vấn đề đã được giải quyết. Sao chép tệp ở đâu đó hoặc đổi tên nó nếu bạn muốn giữ nó.


trên hệ thống cục bộ hay từ xa?
Jeremy Hajek

0

Cũng như những người khác, tôi đã sử dụng GUI (Tôi luôn bật cái này để ngăn những vấn đề như thế này)

config.vm.boot_mode = :gui

Sau đó tôi đã sử dụng menu VirtualBox, vì các lệnh ở đây không hoạt động. Máy> Đặt lại trong menu, sau đó ssh là có thể.


0

Tôi tắt vm đang chạy và tạo một basebox mới:

  1. Tắt VM Tôi đang cố gắng xuất
  2. vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.