我正在构建一个 Vagrant Windows 10 机器(使用 libvirt,基于此处记录的工作流程:https ://fishilico.github.io/generic-config/windows/vagrant.html )。虚拟机准备好后,我运行:
vagrant package default --output win10-libvirt.box
然后我将“盒子”文件带到另一台机器并使用vagrant add
.
问题是,作为设置的一部分,我向用户~/.ssh/authorized_keys
文件添加了一个密钥,但是当我在第二台机器上启动新盒子时 - 该文件消失了。我还尝试在 Microsoft Windows OpenSSH 端口上支持的“管理员密钥”文件中添加一个密钥C:\ProgramData\ssh\administrators_authorized_keys
——但是当我启动新盒子时它也消失了——实际上整个C:\ProgramData\ssh
文件夹都消失了。
是否vagrant package
清理机器配置文件夹,如果是这样 - 可以以某种方式禁用它吗?我找不到有关此的文档。
在我添加了对 Sysprep 的调用,然后在配置脚本结束时关闭后,我解决了这个问题。我不确定是否需要 Sysprep 或关闭 - libvirt 关闭过程应该足够安全,并且观察 libvirt 查看器我可以看到 VM 执行 Windows 关闭过程。
我在我的
Vagrantfile
: