Kvm

用於 libvirt 和 ssh 的自定義 vagrant box

  • April 5, 2018

我已按照此說明操作並嘗試準備我自己的 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時,一切都開始按我的預期工作。

引用自:https://unix.stackexchange.com/questions/435534