用于 libvirt 和 ssh 的自定义 vagrant box

用于 libvirt 和 ssh 的自定义 vagrant box

我已遵循此说明并尝试准备我自己的流浪盒: 如何从 libvirt/kvm 实例创建自定义 vagrant box?

不幸的是我面临一个问题。 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),不会出现最后一个错误。

我注意到的是没有私钥在以下目录中:

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

我在盒子配置过程中错过了什么吗?

答案1

我一直在犯愚蠢的错误。作为authorized_keys,我一直在使用从其他流浪系统复制的文件。因此,我尝试使用“vagrant insecure public key”代替现有系统的“vagrant”pub key。

当我用这个的时候https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub一切都开始按我的预期进行。

相关内容