Я хотел попробовать CoreOS для нового vServer. Пока мне это нравится, но я совершил фатальную ошибку: я создал его облако файл вместо более нового зажигание метод, и теперь при каждой перезагрузке обновления он сбрасывает мой пароль и настройки ssh ...
Мне было лень создавать "идеальный" файл cloudinit, поэтому я решил, что смогу изменить все настройки после этого, поскольку каждый раз, когда я устанавливал ОС раньше ...
Поэтому после каждого временного окна обновления мне нужно снова менять свой пароль, и мне нужно перезапускать службу sshd, потому что порт снова установлен на 22, даже если конфигурация все еще определяет мой измененный номер порта.
Я не смог найти никаких советов по изменению файла cloudinit впоследствии или даже по отключению сброса при перезагрузке. Я вижу преимущество файлов зажигания, которые выполняются только один раз, но я бы хотел избежать переустановки всего моего vServer только для переустановки CoreOS с помощью файла зажигания.
Есть идеи или подсказки? :)
заранее спасибо
Майкл указал мне правильное направление - спасибо! Не знал о возможности накормить систему новой облачной конфигурацией и подумал, что мне нужно изменить некоторые конфигурации в разных местах в любом месте системы ...
Другая проблема, казалось, заключалась в том, что CoreOS использует cloud-init немного иначе, чем показано в документации cloud-init, и поэтому вы можете найти несколько других решений, которые не будут работать для CoreOS.
я обнаружил эта страница в документации и я обнаружил, что правильно отредактировал sshd_config, но система использовала sshd.socket после перезагрузки, поэтому мне приходилось (повторно) запускать sshd все время ...
sudo systemctl mask --now sshd.socket
sudo systemctl enable sshd.service # VERY IMPORTANT!
sudo systemctl restart sshd.service
Очень важно: Вы можете заблокировать себя в системе! Вы можете проверить, есть ли у вас доступ к оболочке входа через панель управления вашего провайдера (спасло меня). В документации говорится, что вы должны выполнить команды 1 и 3 выше, но служба sshd отключена после перезагрузки, поэтому вы должны включить это перед перезагрузкой!
В качестве альтернативы вы можете использовать sshd.socket и изменить порт там. Это также задокументировано по ссылке выше.
Я мог бы создать лучший cloud-init.yaml и повторно применить Это. Просто изменил пароль и добавил мои ssh-ключи для существующего пользователя и вызвал
sudo coreos-cloudinit --validate --from-file=/path/to/cloud-init.yaml
чтобы проверить файл. Удаление --validate
flag применит cloud-init.yaml и изменит пароль (хорошо, чтобы проверить это), но перезагрузка все равно сбросит его! Как я выяснил, coreos-cloudinit
Команда не предназначена для запуска пользователями вручную. Чтобы обновить конфигурацию для повторной инициализации при перезагрузке, мы должны перезаписать другой файл:
sudo cp /path/to/cloud-init.yaml /var/lib/coreos-install/user_data
Впоследствии мой пароль был правильным после перезагрузки.