![具有预定义用户和 ssh 密钥的 Ubuntu Server 映像可用于大规模部署](https://linux22.com/image/1016424/%E5%85%B7%E6%9C%89%E9%A2%84%E5%AE%9A%E4%B9%89%E7%94%A8%E6%88%B7%E5%92%8C%20ssh%20%E5%AF%86%E9%92%A5%E7%9A%84%20Ubuntu%20Server%20%E6%98%A0%E5%83%8F%E5%8F%AF%E7%94%A8%E4%BA%8E%E5%A4%A7%E8%A7%84%E6%A8%A1%E9%83%A8%E7%BD%B2.png)
我需要部署许多带有 ubuntu 安装的系统。我有一个 Ansible 脚本,可以安装我需要的所有软件,但在此之前,我需要在这些系统上安装 ubuntu。因此,我想创建一个映像,该映像会自动安装 ubuntu,并在 .ssh 文件夹中使用特定的用户/密码、ssh 和一个授权的 ssh 密钥。我已经使用 Cubic 实现了这一点。但在安装之前,我仍然需要设置用户和其他设置。如何在安装之前摆脱此向导?
当我在 digitialOcean 上创建一个 droplet 时,我可以插入这个云初始化东西,我有点想要一些类似的东西。
答案1
您需要创建一个预置文件来预先配置您的用户信息。
# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true
# Users
d-i passwd/user-fullname string UseYours
d-i passwd/username string UseYours
d-i passwd/user-password-crypted password UseYours/
#d-i passwd/root-login boolean true
#d-i passwd/root-password-crypted password [crypt 3]
#d-i user-setup/allow-password-weak boolean true
(参考:https://answers.launchpad.net/cubic/+question/681179)
确保您的预置文件在启动配置中列出(file=/cdrom/...
)。如果您只是添加到现有的预置文件中,那么它将已被启动配置引用。
另外,这是一个Debian 预置文件示例以及其他可能的参数,以防对您有用。