現象としては、
Vagrant
ファイルがあるディレクトリでvagrant up
すると違ったVMが立ち上がってしまうというもの・・・
元に戻すのが面倒だったので備忘録を兼ねての投稿です。
確認
おかしいと思ってVirtualBoxを起動すると同じものが2つある!?
そこで現在のVM一覧を見るコマンド
そこで現在のVM一覧を見るコマンド
VBoxManage list vms
を叩いて確認してみると$ VBoxManage list vms
・・・
"hogehoge_default_1457750943558_68266" {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
"hogehoge_default_1457837316012_51675" {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
やっぱし同じものが2つある(↑hogehogeが2つ)
※XXXXやYYYY~には実際は英数字が入ります
※XXXXやYYYY~には実際は英数字が入ります
対策
紐付きがおかしくなっている事は間違いないので、
場所の直下にある
Vagrant
ファイルがある場所の直下にある
.vagrant
ディレクトリを調べて見る- 階層
.vagrant
└── machines
└── default
└── virtualbox
├── action_provision
├── action_set_name
├── id ★
├── index_uuid
├── private_key
└── synced_folders
★が付いている
id
が怪しいので中を見てみると・・$ cat .vagrant/machines/default/virtualbox/id
YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
ん〜恐らく、ここが
修正して
望んていたものが起動しました!!
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
じゃないかと・・修正して
vagrant up
してみると、望んていたものが起動しました!!
これで一件落着かと思っていると、
起動や停止する度にパスワードを聞かれる羽目に!?
原因
vagrant up
やvagrant halt
するとVMとssh接続を行っており、 認証がうまくいってないのが原因でした。
↑の
別のVM(YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY)の秘密鍵が残っちゃっていた模様。
.vagrant
の階層でprivate_key
というのが秘密鍵で、別のVM(YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY)の秘密鍵が残っちゃっていた模様。
対策
解決策としては、
- 全く新規に公開鍵、秘密鍵を作成
- 残ってる秘密鍵を元に公開鍵を作成
の2つがあります。
今回は残ってる秘密鍵を元に公開鍵を作成したいと思います。
今回は残ってる秘密鍵を元に公開鍵を作成したいと思います。
秘密鍵から公開鍵を作成
$ ssh-keygen -y -f .vagrant/machines/default/virtualbox/private_key > authorized_keys
VMを起動し、
/home/vagrant/.ssh
のauthorized_keys
を上書きます$ mv /vagrant/authorized_keys /home/vagrant/.ssh/.
これで認証が失敗せず、パスワード聞かれることもなくなります。
その他
↑の問題とは関係ないですが、色々試している中で見つけて便利だと思ったのでメモ
Vagrantを起動する際は
どの場所からでも起動できます。
Vagrant
ファイルがあるディレクトリに移動してvagrant up
をしていましたが、vagrant up {id}
とする事でどの場所からでも起動できます。
{id}
を確認するには$ vagrant global-status
{id} default virtualbox poweroff hoge
{id} default virtualbox poweroff fuga
で確認できます。
また、
vagrant up
に限らずその他のコマンドでも使用できます。vagrant halt {id}
、vagrant destroy {id}
・・・
shellなんかを書く時に使えそうです^^
0 件のコメント:
コメントを投稿