ssh部分に到達するとvagrant upが失敗します。
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.
その後、vagrant sshまたはvagrant reloadなどを使用して接続しようとすると、次のようになります。
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.
助けてください!私は本当に困惑しています。
敬具、
ルーク
私はこのセットアップでこの問題を確認し、最終的に、ローカルのhostsファイルに名前を追加したという事実に絞り込みました。だから私は持っていました:
127.0.0.1 localhost myname myalias
追加したmyalias
を削除し、正常に起動しました。ネットワーク関連の手がかりを@saphirlazuliに感謝します。
Vagrantサイトの「はじめに」にあるボックスで同じ問題が発生しました。以下の私の解決策は、このチュートリアルのボックス用です。
私はここで解決策を見つけます: https://github.com/mitchellh/vagrant/issues/391
config.vm.boot_mode = :gui
vagrant up
Sudo /etc/init.d/networking restart
、/etc/network/interfaces
ファイル、#VAGRANT-BEGIN [...]#VAGRANT-END
vagrant reload
物理マシン上これは私にとって断続的な問題で、間違いなくネットワークに関連しているようです。 Vagrant GitHubの問題 #391 および #455 でさらに役立つ情報を見つけました。 VirtualBox設定で未使用のホストオンリーネットワークを削除しようとしましたが(GitHubの問題の潜在的な修正として推奨されています)、役に立たないようです。
(前の回答で説明したように)GUIモードで開始することは、問題をデバッグ/修正するための優れた方法です。何らかの理由でVMは起動時にIPアドレスを取得できないためです。GUIモードで起動し、ログインして(vagrant/vagrant)、ゲストでSudo dhclient
を実行していることが原因であることがわかりましたOSがIPアドレスを取得し、Vagrantセットアッププロセスが正常に完了します。
まだ永久的な修正を探しています。
お役に立てれば!
[編集に追加]: GitHub Issue#455 に役立つ提案が追加されました。これには、Vagrantfile
に次の構成を追加することが含まれます。
config.ssh.max_tries = 150
これは現在私のために働いており、問題はタイムアウトに関連しているように見えるので理にかなっているようです-試行回数を増やすと、SSHプロセスが時間内に成功する確率が高くなります。そもそも断続的な問題なので、しばらく判決は控えておきますが、指を組んでうまくいきます!修正を提案してくれたkarel1980に感謝します。
vagrant up
が失敗した場合は、以下をお勧めします。
Vagrantfile
にconfig.vm.boot_mode = :gui
を設定しますchef.log_level = :debug
を使用してプロビジョニングを実行しますvagrant box repackage foo
、次にvagrant import foo
、次にfoo
をVagrantfile
に追加します)注:GUIモードには他の問題がある可能性があります。 GUIが有効になっている場合、私にとってvagrant 0.7.5
でプロビジョニングは機能しません。ただし、実際のボックスをデバッグするのは素晴らしいことです。
ネットワークカードの種類は、元々82540EM
に設定されていました。私はそれをAm79C973
に変更し、今度はVagrant upが毎回機能するようになりました。複数のVMを起動し、ホストを再起動しても動作します。
コマンドは次のとおりです。
VBoxManage modifyvm yourmachinename --nictype1 Am79C973
箱を再パッケージして、Vagrantに読み取ってください。
Core i7-2600マシンでVirtualBox 4.1.16を使用して、ホストおよびゲストとしてDebian Squeeze 64ビットを実行しています。
ディスクの問題により、ゲストボックスが正しく起動しませんでした。
VMを経由して閉じるように強制しました
VBoxManage controlvm poweroff
次に、Vagrantfile
を次の行を含むように変更しました。
config.vm.boot_mode =:gui
次に、再実行しました
浮浪者
ポップアップしたGUIで、「ディスクフィクサー」ユーティリティを実行する必要がありました。
ディスクユーティリティを実行した後、my VMが正常に起動し、vagrant ssh
。
私は次のようにVagrantfileの一部のコメントを外しました:
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
それを保存してから
vagrant reload
そして、物事はうまくいきました。なぜそれがそれを直したのかはわかりません。
私も同じ問題を抱えていました。私の場合、64ビットエミュレーションが有効になっていませんでした。私のBIOSでこの機能を有効にすると、問題が解決しました。
カーネルモジュールが既にインストールされている場合は、VMをVirtualBoxで直接起動してみてください。これにより、VMの起動時に発生した起動エラーが表示されます。ファイルシステムのような問題エラーが発生すると、SSHサーバーデーモンが正しく動作しなくなります。
私はosx(VirtualBox 4.1.0およびVagrant 0.8.6)でも同じ問題を抱えていました。私にとって唯一の助けは、
私はこれを https://github.com/mitchellh/vagrant/issues/391 thx mikhailovで見つけました。
私の問題はそれでしたvagrant ssh
は何もしません。
私は削除しました ~/.ssh/config
そして問題は解決されました。ファイルをどこかにコピーするか、保持したい場合は名前を変更してください。
他の人と同様に、私はGUIを使用しました(このような問題を防ぐために常にこれをオンにしています)
config.vm.boot_mode = :gui
次に、ここのコマンドが機能しなかったため、VirtualBoxメニューを使用しました。メニューの[マシン]> [リセット]をクリックすると、sshが可能になりました。
ここに別の考えられる理由がエラーのためにあります:
[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.
ユーザー名は、次のように構成ファイルで指定できます。
config.ssh.username = "badusername"
そのユーザー名が存在しないか、何らかの理由でログインできない場合、あなたもVagrantもVMにSSHで接続できません。したがって、VMが実際に正常に動作している場合でも、Vagrantは「接続に失敗します」。
Windows 7で実行
vagrant ssh
あなたがこのようなものを手に入れたら...
`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
次に、このようなものを使用する必要があります...
ssh [email protected] -p 2222 -i /cygdrive/u/.vagrant.d/insecure_private_key
私のウィンドウボックスでは、PuTTYではなくcygwinを使用しています。
タイプSudo /etc/init.d/vboxdrv setup
。これで動作するはずです。
私の問題は
/etc/hosts
エントリーがありました
127.0.1.1 lucid32
ボックス名はlucidtest
だったので、上の行を
127.0.1.1 lucidtest
そしてそれは働いた。
このメッセージは、sshサーバーがVM上で実行されていないことを示しています。インストールされていることを確認してください
Sudo apt-get install openssh-server
と実行
ssh localhost
エラーにならないはずです。
Vagrant内のエラーを除外するには、次の方法でVMに直接sshを試行してください。
ssh vagrant @ localhost -p2222
(デフォルトのユーザーとポート転送を想定)
実行中のvmをシャットダウンして、新しいベースボックスを作成しました。
vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile