Установить пакет openssh-server из файла preseed

Таким образом, мне удалось создать собственный ISO-файл, используя preseed-файл, который автоматически не вызывает ОС, все работает нормально, НО isntallation пакета openssh-server... Я не то, что еще нужно делать.

В моем предварительном файле у меня есть следующие строки:

#Add package
d-i pkgsel/include string openssh-server build-essential

однако, когда я вхожу, пакет не был установлен. Мне также нужно разрешить вход в систему с правами root, для других целей, поэтому мне нужно изменить файл sshd_config, я также попробовал следующие два варианта, но я думаю, они не работают, потому что пакет openssh-server не устанавливается в первую очередь:

ubiquity ubiquity/success_command string sed -i '/PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config

а также

d-i preseed/late_command string sed -i '/PermitRootLogin/c\PermitRootLogin yes' /etc/ssh/sshd_config

Как лучше всего сначала добавить пакет ssh-сервера? а затем изменить файл sshd_config? поэтому при загрузке ОС служба ssh запускается и работает

1 ответ

Мы использовали и протестировали следующий подход вместе с образом сетевой загрузки Ubuntu.

d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password <password>
d-i passwd/make-user boolean false
d-i pkgsel/include string openssh-server
d-i preseed/late_command string \
  in-target sh -c 'sed -i "s/^#PermitRootLogin.*\$/PermitRootLogin yes/g" /etc/ssh/sshd_config';

Используйте следующую команду для генерации пароля:

printf "please-change-password" | mkpasswd -s -m sha-512

Здесь вы найдете более сложный подход с использованием открытых ключей ssh ​​по умолчанию. Он по-прежнему содержит все подсказки в файле preseed, касающиеся ввода пароля.

Другие вопросы по тегам