Kvm
用於 libvirt 和 ssh 的自定義 vagrant box
我已按照此說明操作並嘗試準備我自己的 vagrant box: how to create custom vagrant box from libvirt/kvm instance?
不幸的是,我面臨一個問題。Vagrant up 掛斷:
==> default: Waiting for SSH to become available...
更詳細的日誌向我展示了這樣的內容:
D, [2018-04-04T15:51:40.628951 #6576] DEBUG -- net.ssh.authentication.methods.publickey[3fc61a560e58]: trying publickey (dd:3b:b8:2e:85:04:06:e9:ab:ff:a8:0a:c0:04:6e:d6) D, [2018-04-04T15:51:40.629709 #6576] DEBUG -- socket[3fc61a8070e4]: queueing packet nr 5 type 50 len 348 D, [2018-04-04T15:51:40.629904 #6576] DEBUG -- socket[3fc61a8070e4]: sent 372 bytes D, [2018-04-04T15:51:40.656401 #6576] DEBUG -- socket[3fc61a8070e4]: read 68 bytes D, [2018-04-04T15:51:40.656589 #6576] DEBUG -- socket[3fc61a8070e4]: received packet nr 5 type 51 len 44 D, [2018-04-04T15:51:40.656660 #6576] DEBUG -- net.ssh.authentication.session[3fc61a593f9c]: allowed methods: publickey,password E, [2018-04-04T15:51:40.656709 #6576] ERROR -- net.ssh.authentication.session[3fc61a593f9c]: all authorization methods failed (tried none, publickey)
官方盒子(如 ubuntu1604)不會出現最後一個錯誤。
我注意到的是以下目錄中沒有private_key :
ls .vagrant/machines/default/libvirt/ creator_uid id index_uuid vagrant_cwd
例如,官方 libvirt 盒(https://app.vagrantup.com/generic/boxes/ubuntu1604)的相同目錄看起來不同。
ls .vagrant/machines/default/libvirt/ action_provision creator_uid id index_uuid private_key synced_folders vagrant_cwd
在盒子配置過程中我錯過了什麼嗎?
我一直在犯愚蠢的錯誤。作為authorized_keys,我一直在使用從其他流浪系統複製的文件。因此,我嘗試使用“vagrant insecure public key”代替現有系統的“vagrant”發布密鑰。
當我使用這個https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub時,一切都開始按我的預期工作。