Lỗi Vagrant: Hết thời gian kết nối. Đang thử lại


12

Tôi có một máy chủ với Ubuntu 12.04, Virtualbox 4.3 và Vagrant 1.5.1. Tôi đang cố gắng sử dụng hộp này http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box tuy nhiên không thành công. Khi tôi chạy "vagrant up", tôi nhận được thông báo này:

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.

Đây là tập tin Vagrant của tôi

# 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

Máy chủ của tôi không có giao diện đồ họa Làm thế nào tôi có thể sửa nó? Cảm ơn.


Bất kỳ quy tắc tường lửa có thể ảnh hưởng?
pbacterio

Câu trả lời:


4

Trước tiên, hãy thử: để xem khóa riêng nào mơ hồ trong cấu hình máy của bạn

$ vagrant ssh-config

Thí dụ:

$ 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

Tài liệu cấu hình SSH Vagrant

Thứ hai, làm: Thay đổi nội dung của tập tin insecure_private_key với nội dung của hệ thống riêng yorn khóa riêng



Điều này dường như làm việc hoàn hảo! Tôi đã xóa khóa không an toàn và để Vagrant tạo ra nó mới và hoạt động như một bùa mê
vishal.biyani

1
Làm thế nào bạn đạt được điều đó? Bạn đã chỉnh sửa tập tin nào?
cookie

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

@shilovk, nó có nghĩa là @cookiegì?
Yêu

2

hãy thử bật GUI của hộp ảo như đã báo cáo trong bài đăng này Hết thời gian chờ kết nối bị kẹt và làm theo các bước trong nhận xét.

nếu nó không hoạt động, hãy thử thêm sửa đổi này vào tệp vagrantfile của bạn:

tạo một tệp có tên "script.sh" có chứa các lệnh sau:

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

sau đó thêm phần này vào vagrantfile của bạn:

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

2

Thời gian chờ kết nối SSH trong giai đoạn khởi động có thể xảy ra do các lý do khác nhau, chẳng hạn như:

  • hệ thống đang chờ tương tác của người dùng (ví dụ: phân vùng chia sẻ chưa sẵn sàng ),
  • sshd cấu hình sai,
  • cấu hình sai tường lửa (trong trường hợp không phải cục bộ),
  • không khớp với khóa riêng của bạn,
  • config.vm.boot_timeout khoảng thời gian thời gian quá thấp (mà của bạn là tốt),
  • đảm bảo rằng ảo hóa được kích hoạt trong BIOS.

Để gỡ lỗi, vui lòng chạy dưới dạng:

VAGRANT_LOG=debug vagrant up

Nếu không có gì rõ ràng, thì hãy thử kết nối với nó từ một thiết bị đầu cuối khác, bằng vagrant sshhoặc bởi:

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

Nếu SSH vẫn không thành công, hãy chạy lại nó với GUI (ví dụ config.gui = true).

Nếu không, hãy kiểm tra các quy trình đang chạy (ví dụ: vagrant ssh -c 'pstree -a':) hoặc xác minh sshd_config.


Nếu đó là dùng một lần VM, bạn luôn có thể destroynó và upnó một lần nữa. Cũng xem xét nâng cấp Vagrant và Virtualbox của bạn.


1

Hãy thử mở cổng 22 trên tường lửa.

Sử dụng Trình quản lý VirtualBox của Oracle VM, khởi động VM trực tiếp hoặc

thêm phần này vào Vagrantfile của bạn

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

và chạy "vagrant up"

đăng nhập bằng thông tin đăng nhập mặc định

user: vagrant
pass: vagrant

thêm quy tắc tường lửa

sudo ufw allow 22

0

Tôi chỉ giải quyết một vấn đề tương tự.

Vấn đề : Lệnh đăng nhập vào môi trường phát triển khách vagrant ssh, đã hết thời gian. Nó thường xuyên hoạt động tốt trên một máy chủ khác.

Các bước gỡ lỗi:

  1. Trong Vagrantfile, tôi đã kích hoạt GUI Virtualbox (như được đề xuất trong câu trả lời khác) để xem điều gì gây ra thời gian chờ. Ubuntu đã yêu cầu đăng nhập và mật khẩu, điều này không nên bởi vì nó nên sử dụng khóa ssh thay thế.

  2. Thay vì chạy vagrant ssh, tôi đã chạy một lệnh ssh tương đương nhiều lần, thêm và xóa các tùy chọn ssh khác nhau. Một trong những thông báo lỗi hết thời gian đọc, không thể đăng nhập vào [example.com], không thể hiểu được vì vấn đề này không liên quan gì đến [example.com].

  3. Vì vậy, điều đó thôi thúc tôi xem xét .ssh / config trong đó [example.com] có thể có một số mức độ liên quan.

Nguyên nhân gốc : Trong .ssh / config, có một mục không có Hostbộ, vô tình. Do đó, nó đã áp dụng quy tắc cấu hình đó cho tất cả các cuộc gọi ssh, bao gồm vagrant ssh(đây chỉ là một phím tắt cho lệnh ssh dài hơn).

Giải pháp : Đảm bảo mọi mục nhập .ssh / config đã Hostđược đặt.


0

Hãy thử tạo insecure_private_key

Tôi đã giải quyết điều này bằng cách loại bỏ insecure_private_key, nằm dưới~/.vagrant.d

có thể lý do là insecure_private_keytập tin cũ


0

Tôi đã từng gặp vấn đề tương tự. Tôi đã xóa mọi thứ khỏi SystemPrefereces-> Security-> Firewall và xóa tất cả các dịch vụ khỏi SystemPreferences-> Shared. Sau đó, tôi kích hoạt đăng nhập từ xa một lần nữa. Điều đó đã khắc phục vấn đề trong trường hợp của tôi. Nếu điều này không giải quyết được vấn đề của bạn, bạn có thể truy cập trang web này và tự kiểm tra nó. (Máy chủ)


0

Tôi đã trải qua một vấn đề tương tự. Đây là những gì tôi đã làm.

  • Kích hoạt ảo hóa trong BIOS
  • Đã chạy ssh-add ~/.vagrant.d/insecure_private_key
  • Đã thêm vào config.vm.boot_timeout = 600của tôi~/Homestead/Vagrantfile

Bây giờ nó hoạt động tốt.


0

Bạn cần có khả năng GUI. Xóa nhận xét của dòng này trong Vagranttệp của bạn :

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

Sau khi bạn cần tắt máy và bắt đầu lại:

vagrant halt
vagrant up

0

Làm thế nào tôi sửa:

trong vagrantfile, kích hoạt / hủy bình luận các tín đồ ...

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

0

Vấn đề này có thể được gây ra bởi nhiều yếu tố bao gồm cả tình huống trong đó hộp VM bị treo chờ phản hồi từ người dùng. Tuy nhiên, một vấn đề phổ biến là sự không khớp giữa khóa riêng và khóa chung. Để khắc phục sự cố này, bạn cần cung cấp tệp khóa riêng trên máy chủ phù hợp với tệp khóa chung trên hộp VM. Tôi đã đăng một giải pháp với 3 cách tiếp cận tùy chọn trên blog của chúng tôi ở đây ...

http: //www.produc activeminds.com/blog/vagrant-ssh-authentication-how-to-successfully-login-into-vm-box-USE-vagrant-up/



0

Tôi có cùng một vấn đề và đây là trải nghiệm đầu tiên của tôi với vagrant.

Tôi đã quản lý để "giải quyết" vấn đề bằng cách sử dụng mạng công cộng thay vì mạng riêng

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

Thay thế 192.168.3.175bằng một IP thuộc lớp mạng của bạn.

Tôi muốn hiểu những gì sai với mạng riêng mặc dù ...


nó chưa hoạt động = /
PoLIVoX

sau đó hãy chắc chắn rằng bạn có phiên bản mới nhất của vagrant và virtualbox (tải gói từ trang web)
damko

btw Tôi đã gặp một số vấn đề trong quá trình cài đặt do một số cài đặt tùy chỉnh như "~ / .bashrc" và sự hiện diện của "/ etc / SuSE-release" trong hộp Mint 15 của tôi (được yêu cầu bởi một phần mềm khác). Nhưng trong số tất cả những thay đổi mà tôi đã thực hiện, tôi thực sự tin rằng cái đã sửa nó là cài đặt các gói mới nhất
damko

Tôi đã cập nhật máy chủ của mình và không hoạt động! = /
PoLIVoX

Tôi đã không sử dụng các gói được cung cấp bởi phân phối của tôi. Tôi đã tải xuống từ các trang web chính thức (vagrant và virtualbox) của họ
damko

0

config.vm.boot_timeout- Thời gian tính bằng giây mà Vagrant sẽ đợi máy khởi động và có thể truy cập được. Theo mặc định, đây là 300 giây.

Tôi sẽ tăng điều này cho đến khi bạn có thể mơ hồ SSH.


Tôi đã thử và nó không hoạt động. = / Tôi đã đặt thời gian chờ 600
PoLIVoX

Bạn có thể gửi Vagrantfile của bạn?
dmourati

Tôi đã đăng Vagrantfile của tôi.
PoLIVoX
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.