在 20.04 Autoinstall/Cloud Init 中管理 SSH 主机密钥

在 20.04 Autoinstall/Cloud Init 中管理 SSH 主机密钥

我想在构建 20.04 VM 期间管理 SSH 主机密钥的生成。默认情况下,首次启动时 cloud-init 会删除所有主机密钥并创建新的主机密钥。

自动安装文档没有提到这一点。云初始化文档提到可以使用“ssh_deletekeys: false”参数来控制这一点。

我尝试将其放在我的用户数据文件的顶部。即

#cloud-config
ssh_deletekeys: false
autoinstall:
...

这不管用。我还尝试在/target/var/lib/cloud/seed/nocloud-net/user-data第一次重启之前手动添加它,但也没用。

我究竟做错了什么?

答案1

我认为你应该将ssh_deletekeys: false配置文件放入/etc/cloud/cloud.cfg。至少在 Debian 10 下它对我来说是有效的。

例子:

# The top level settings are used as module
# and system configuration.

ssh_deletekeys: false

# A set of users[...]

答案2

我在 cloud-init 和 ubuntu 20.04 中遇到了类似的问题,我的修复方法如下:

  1. 我使用自动安装文件配置了映像
  2. 在配置完成后,我运行此命令sudo cloud-init clean来删除 cloud-init 缓存,以使 cloud-init 能够像第一次启动一样运行(它将创建新的主机密钥)
  3. 之后,我对映像进行系统准备并构建一个新的虚拟机

相关内容