Vagrant 1.7からinsecure_private_keyが置き換えられる仕様になっていることに今更ながら気づいた
ごく日常的にvagrantを使っている分には気にならないと思いますが、vagrant 1.7から vagrant ssh
する際に仕様される秘密鍵は vagrant up
の際に置き換えられる仕様になっています。
(1.6以前はInsecure Private Keyと呼ばれる共有の秘密鍵を使っていた)
Insecure Private Keyを使ってvagrantで立てたVMにSSHをする方法を取っているとvagrantのバージョンをあげたときに突然エラーになって「おや?」ってなります。
vagrant up
してvagrant ssh
すると問題なくsshできるので原因に気づきづらい。
ssh -i ~/.vagrant.d/insecure_private_key vagrant_vm_ip # sshできない vagrant ssh # sshできる
置き換える秘密鍵は .vagrant/machines/default/virtualbox/private_key
に置かれるので、
こちらを指定するように変更するか、Vagrantfile
にconfig.ssh.insert_key = false
の記述を追加すれば以前の動作と同じになります。
普段使いでは問題ないですが、自動テストなどで使っているとはまりますね。というかはまりました。
ダレカタスケテ-
— シリル@ひだまりPHP 3日目西f26a (@d_cyrill1129) July 24, 2016
C90入稿完了したので、夏コミ本出ます。お品書きはまた後日出します。よろしくお願いします。