Это старая версия документа!
1.Устанавливаем пакет
apt install xroad-autologin
2.Если допустимо хранение ПИН-кода на сервере в виде открытого текста, создайте файл /etc/xroad/autologin, содержащий ПИН-код.
3.Если вы не хотите хранить PIN-код в виде открытого текста, реализуйте bash-скрипт /usr/share/xroad/autologin/custom-fetch-pin.sh
0, если он смог успешно получить PIN-код
127, если он не смог получить PIN-код, но это не фактическая ошибка, которая должна привести к сбою службы (реализация по умолчанию использует это, если /etc/xroad/autologin не существует)
другие коды выхода в ситуациях ошибок, которые должны привести к сбою службы
#!/bin/bash PIN_CODE=$(curl https://some-address) echo "${PIN_CODE}" exit 0
1.Создает новый сервис xroad-autologin
2.Служба запускается после запуска xroad-signer
3.В RHEL/Ubuntu 20.04 сервис вызывает скрипт-оболочку /usr/share/xroad/autologin/xroad-autologin-retry.sh, который, в свою очередь, вызывает autologin.expect 3.1 Сценарий оболочки обрабатывает повторные попытки в случае ошибки.
4.Сервис пытается ввести ПИН-код с помощью консоли подписчика скриптов. 4.1 Если PIN-код был правильным или неправильным, он выходит 4.2 Если произошла ошибка (например, из-за того, что xroad-signer еще не полностью запущен), он продолжает повторять попытки бесконечно.