我已经看到,ubuntu-server 自动安装程序设置了一个随机 ssh 密码和密钥,以便能够通过安装阶段进行连接。但我现在想设置一个无头系统,所以我看不到随机密码。有没有办法配置这个密码或自己的公钥?
答案1
是的。下面是可以添加到自动安装user-data
文件中的代码片段。它将为用户设置密码installer
并为用户安装授权密钥installer
。此配置必须在根级别添加。与autoinstall:
密钥相同的级别,不是部分的一部分autoinstall:
。
# set password to r00tme
chpasswd:
expire: false
list:
- installer:$6$.c38i4RIqZeF4RtR$hRu2RFep/.6DziHLnRqGOEImb15JT2i.K/F9ojBkK/79zqY30Ll2/xx6QClQfdelLe.ZjpeVYfE8xBBcyLspa/
ssh_authorized_keys:
- ssh-rsa FILLINYOUROWNKEYHERE installer
怎么运行的
当安装程序启动时,它会用来cloud-init
配置安装程序环境。自动安装user-data
文件实际上只是cloud-init
用于配置此环境的配置。
在安装程序中,默认 cloud-init 配置installer
将默认生成一个用户
default_user:
name: installer
lock_passwd: false
gecos: Ubuntu
groups: [adm, audio, cdrom, dialout, dip, floppy, lxd, netdev, plugdev, sudo, video]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /usr/bin/subiquity-shell
并为installer
用户分配一个随机密码
chpasswd:
expire: false
list:
- installer:RANDOM
通过在自动安装文件中提供配置,它将覆盖默认配置。
另一种方法是在自动安装文件中提供用户信息。这将让您更明确地控制所创建用户的属性。