「Vagrantを起動しようとすると、SSH auth method: private keyで止まってしまう・・・」
「Windows 11でvagrant upコマンドが動かない・・・」
このような場合には、この記事の内容が参考になります。
この記事では、Vagrantが起動できない場合の解決方法を解説しています。
本記事の内容
- 「SSH auth method: private key」で停止する
- vagrant upが動かなくなったシステム環境
- エラーの解決方法
- Oracle VM VirtualBox マネージャーを用いたVagrant起動
それでは、上記に沿って解説していきます。
「SSH auth method: private key」で停止する
Vagrant起動時にエラーで止まることがあります。
vagrant up
上記コマンドを実行すると、次のように途中で停止することがあります。
default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> 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
そのまま上手く起動すればいいのですが、そうはいかない場合があります。
5分(デフォルト)待たされた挙句、次のようなエラーが表示するのです。
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.
タイムアウトしているという内容のエラーです。
このエラーについては、多くの記事で取り上げられています。
その分だけ、エラーの解決方法もいろんな方法が解説されています。
そして、それらの方法で解決する場合もあるでしょう。
ただ、それらのどれでも解決しない場合もあります。
そもそも、インストールした当初は問題なく動いていました。
それが、急にこのように起動できなくなったのです。
以上、「SSH auth method: private key」で停止するについて説明しました。
次は、vagrant upが動かなくなったシステム環境について説明します。
vagrant upが動かなくなったシステム環境
システム環境とは、エラーが出るようになったマシンの環境のことです。
Vagrantを利用する上では、次の3つがポイントになります。
- OS
- VirtualBox
- Vagrant
それぞれを以下で説明します。
OS
OSは、Windows 11です。
2022年10月に購入しています。
そのため、ハード的に仮想環境を使えないということはありません。
VirtualBox
VirtualBoxのバージョンは、6.1系では最新となります。
7.0系は、まだまだバグだらけで使うのを避けています。
VirtualBoxのインストールについては、次の記事で解説しています。
Vagrant
>vagrant -v Vagrant 2.3.1
Vagrant 2.3.1は、2022年9月にリリースされています。
まとめ
すべて比較的新しいバージョンです。
そして、この組み合わせで仮想環境を構築・利用できていました。
しかし、なぜかいきなり「vagrant up」が動かなくなりました。
以上、vagrant upが動かなくなったシステム環境を説明しました。
次は、エラーの解決方法を説明します。
エラーの解決方法
このような状況において、偶然にもVirtualBoxを起動する方法を見つけました。
そして、この方法が万能とは決して思いません。
あくまで、解決方法の一つとして試してみてください。
まず、例のごとく、ここで停止したすることを確認します。
30秒ほどでいいです。
default: SSH auth method: private key
コンソール画面は、そのままにして「Oracle VM VirtualBox マネージャー」を起動させます。
そして、起動させようとしている仮想マシンを選択します。
そうすると、コンソール画面で動きがあります。
起動できたら、「vagant ssh」でアクセスしてみましょう。
Ubuntuにログインできます。
あとは、普通に利用可能です。
しかし、ここで一つ問題が残ります。
再度、Vagrant起動を行った際に同じように「SSH auth method: private key」で止まります。
以上、エラーの解決方法を説明しました。
次は、Oracle VM VirtualBox マネージャーを用いたVagrant起動を説明します。
Oracle VM VirtualBox マネージャーを用いたVagrant起動
Vagrant起動の度、上記の方法で対応するのは面倒です。
それなら、Oracle VM VirtualBox マネージャーからVagrant起動を行いましょう。
最初に、Oracle VM VirtualBox マネージャーを起動します。
対象の仮想マシンを選択します。
その状態で起動ボタンの▼をクリック。
そうすると、次の3つの起動モードを選択できるようになります。
- 通常起動
- ヘッドレス起動
- デタッチモード
「vagrant ssh」でアクセスしたい場合は、「ヘッドレス起動」を選びます。
プレビューを見ながら、OS起動まで待ちます。
起動できたら、コマンドプロンプトかPowerShellで「vagrant ssh」を実行するだけです。
通常起動やデタッチモードであれば、次のような独自端末が起動します。
ログインには、vagrant以外のアカウントが必要になります。
この場合は、一旦vagrantでログインしてユーザーを作成しましょう。
Ubuntuにおけるユーザー作成は、次の記事内で説明しています。
仮想マシンの停止に関しては、コマンドかOracle VM VirtualBox マネージャーのどちらでもよいでしょう。
Oracle VM VirtualBox マネージャーを常に起動させておくというのは、ある意味正しい姿だと思います。
状況が可視化されて、仮想マシンを起動させたままという事態を防ぐことができますからね。
以上、Oracle VM VirtualBox マネージャーを用いたVagrant起動を説明しました。