Vagrant Error:接続タイムアウト。再試行中


12

Ubuntu 12.04、Virtualbox 4.3、Vagrant 1.5.1を搭載したサーバーがあります。私はこのボックスhttp://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.boxを使用しようとしていますが、うまくいきません。「vagrant up」を実行すると、次のメッセージが表示されます。

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

Vagrant SSH Config Docs

次に、 ファイル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スタック接続タイムアウト。コメントの手順に従ってください。

動作しない場合は、vagrantfileにこの変更を追加してみてください。

次のコマンドを含む「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

次に、これをvagrantfileに追加します:

  # 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

そして、「浮浪者アップ」を実行します

デフォルトのVagrantクレデンシャルを使用してログイン

user: vagrant
pass: vagrant

ファイアウォールルールを追加する

sudo ufw allow 22

0

同様の問題を解決しました。

問題:ゲスト開発環境にログインするコマンドvagrant sshがタイムアウトしました。別のホストマシンで日常的に正常に動作します。

デバッグ手順:

  1. Vagrantfileで、Virtualbox GUIを有効にして(別の回答で推奨)、タイムアウトの原因を確認しました。Ubuntuはログインとパスワードを要求していましたが、代わりにsshキーを使用する必要があるため、これはすべきではありません。

  2. 実行するのvagrant sshではなく、同等のsshコマンドを何度も実行し、異なるsshオプションを追加および削除しました。タイムアウトエラーメッセージの1つに「[example.com]にログインできませんでした」というメッセージが表示されます。この問題は[example.com]とは関係がないため、意味がありません。

  3. そのため、[example.com]が関連する可能性のある.ssh / configを調べるように促されました。

根本原因:.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で仮想化を有効化
  • 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で、belowsの有効化/コメント解除...

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

私は同じ問題を抱えており、これが浮浪者との最初の経験です。

プライベートネットワークではなくパブリックネットワークを使用して、問題を「解決」することができました。

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

192.168.3.175ネットワーククラスに属するIPに置き換えます。

プライベートネットワークの何が問題なのかを理解したいのですが...


まだ機能しませんでした。= /
PoLIVoX 14

次に、
vagrant

ところで、インストール中に「〜/ .bashrc」などのカスタム設定や、Mint 15ボックス(別のソフトウェアで必要)に「/ etc / SuSE-release」が存在するため、いくつかの問題が発生しました。しかし、私は、私は本当に何がそれが最新のパッケージのインストールで固定することを信じて行ったことをすべての変更の中で
damko

サーバーを更新しましたが動作しませんでした!= /
PoLIVoX

ディストリビューションが提供するパッケージを使用しませんでした。私は彼らの(浮浪者とvirtualbox)公式ウェブサイトからダウンロードしました
damko 14

0

config.vm.boot_timeout-Vagrantがマシンが起動してアクセス可能になるまで待機する時間(秒)。デフォルトでは300秒です。

SSHを放浪できるようになるまで、これを増やしていきます。


試しましたが、うまくいきませんでした。= /私は600タイムアウトseted
PoLIVoX

Vagrantfileを投稿できますか?
-dmourati

Vagrantfileを投稿しました。
PoLIVoX 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.