Я видел, что автоинсталлятор ubuntu-server устанавливает случайный пароль и ключ ssh, чтобы иметь возможность подключиться через фазу установки. Но теперь я хочу установить безголовую систему, поэтому я не могу увидеть случайный пароль. Есть ли способ настроить этот пароль или собственный открытый ключ ?
Да. Вот фрагмент, который можно добавить в файл с данными пользователя
для автоинсталляции. Он установит пароль для пользователя installer
и установит ключ authorized_key для пользователя 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
autoinstall на самом деле является просто конфигурацией 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
Предоставляя конфигурацию в файле автоустановки, он переопределит конфигурацию по умолчанию.
Другим способом будет предоставление информации о пользователе в файле автоустановки. Это позволит вам более явно контролировать свойства созданного пользователя (пользователей).