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
サーバーにグラフィックインターフェースがありません。どうすれば修正できますか?ありがとう。
まず、次のことを試してください:マシン構成のvagrant private keyを確認します
$ 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
2番目に、次の操作を行います:ファイルの内容を変更insecure_private_key旧システムの内容プライベートキー
起動フェーズ中のSSH接続タイムアウトは、次のようなさまざまな理由で発生する可能性があります。
sshd
設定ミス、config.vm.boot_timeout
期間が短すぎます(問題ありません)、問題をデバッグするには、次のように実行してください。
VAGRANT_LOG=debug vagrant up
明らかなものが何もない場合は、vagrant ssh
または次の方法で、別の端末から接続を試みます。
vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default
それでもSSHが失敗する場合は、 a GUI を使用して再実行します(例:config.gui = true
)。
そうでない場合は、実行中のプロセスを確認するか(例:vagrant ssh -c 'pstree -a'
)、またはsshd_config
を確認してください。
使い捨てVMの場合は、いつでもdestroy
でき、再度up
できます。 VagrantとVirtualboxのアップグレードも検討してください。
この投稿で報告されているように仮想ボックスのGUIを有効にしてみてください Vagrant stuck connection timeout とコメントの手順に従ってください。
それが機能しない場合は、この変更を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"
ファイアウォールのポート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
config.vm.boot_timeout
-マシンが起動してアクセス可能になるまでVagrantが待機する時間(秒)。デフォルトでは300秒です。
SSHを放浪できるようになるまで、これを増やします。
これは私にとってはうまくいきます:
/etc/rc.local
ファイルを変更して、sh /etc/init.d/networking restart
の直前にexit 0
という行を含めます。https://github.com/mitchellh/vagrant/issues/391#issuecomment-207838
修正方法:
vagrantfileで、以下を有効/コメント解除します...
config.vm.network "private_network", ip: "192.168.33.10"
...
config.vm.network "public_network"
同じ問題がありました。 SystemPrefereces-> Security-> Firewallからすべてを削除し、SystemPreferences-> Sharedからすべてのサービスを削除しました。次に、リモートログインを再度有効にしました。これで私の問題は解決しました。これで問題が解決しない場合は、このサイトにアクセスして自分で確認してください。 (ServerFaqs)
私は同じ問題を抱えており、これは浮浪者との最初の経験です。
プライベートネットワークではなくパブリックネットワークを使用して問題を「解決」することができました
config.vm.network "public_network", ip: "192.168.3.175"
置換192.168.3.175
ネットワーククラスに属するIP。
プライベートネットワークのどこが悪いのか理解したいのですが...
insecure_private_key
を生成してみてください
insecure_private_key
の下にある~/.vagrant.d
を削除してこれを解決しました
多分理由はinsecure_private_key
ファイルが古いためです
同様の問題が発生しました。これが私がしたことです。
ssh-add ~/.vagrant.d/insecure_private_key
config.vm.boot_timeout = 600
を私の~/Homestead/Vagrantfile
に追加しました現在は正常に機能しています。
この問題は、VMボックスがユーザーからの応答を待ってハングする状況など、多くの要因が原因である可能性があります。ただし、一般的な問題は、秘密鍵と公開鍵の不一致です。この問題を修正するには、VMボックスの公開鍵ファイルと一致するホストマシンの秘密鍵ファイルを提供する必要があります。3つのオプションのアプローチを使用したソリューションをこちらのブログに投稿しました。 。
同様の問題を解決しました。
問題:ゲスト開発環境にログインするコマンドvagrant ssh
がタイムアウトしました。別のホストマシンでは通常、正常に動作します。
デバッグ手順:
Vagrantfileで、(別の回答で推奨されているように)Virtualbox GUIを有効にして、タイムアウトの原因を確認しました。 Ubuntuはログインとパスワードの入力を求めていましたが、sshキーを使用する必要があるため、入力する必要はありません。
vagrant ssh
を実行する代わりに、同等のsshコマンドを何度も実行し、さまざまなsshオプションを追加および削除しました。タイムアウトエラーメッセージの1つに「[example.com]にログインできませんでした」と表示されますが、これは[example.com]とは関係がないため意味がありません。
そのため、[example.com]が関連している可能性のある.ssh/configを確認するように求められました。
根本的な原因:.ssh/configで、誤ってHost
が設定されていないエントリがありました。したがって、vagrant ssh
(長いsshコマンドの単なるショートカット)を含むallssh呼び出しにその構成ルールを適用していました。
ソリューション:すべての.ssh/configエントリにHost
が設定されていることを確認します。
GUIを使用できる必要があります。 Vagrant
ファイルのこの行のコメントを削除します。
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
マシンをシャットダウンして再起動する必要がある場合:
vagrant halt
vagrant up