Резервный вариант для authorized_keys

Oct 27 2020

Я работаю над автоматизацией, которая генерирует список разрешенных открытых ключей и перезаписывает пользователя сервера ~./ssh/authorized_keys. Есть ли способ предотвратить ошибку в автоматизации и полностью заблокировать мне доступ к хосту? У меня есть некоторые ограничения, сам сервер взят из образа виртуальной машины, который со временем обновляется, поэтому создание дополнительных пользователей - это не то, чем я хотел бы заниматься.

Пока что я думал о:

  • Можно ли иметь состав authorized_keys. Если бы было 2 файла, у меня мог бы быть динамический файл и один из файлов со статическим резервным ключом.
  • Я все равно буду проводить тестирование перед перезаписью (например, проверять содержимое и формат ключей), чтобы убедиться, что я не копирую пустой файл. Но все же что-то могло пойти не так.

Возможна ли композиция? Если нет, у вас есть другие идеи?

Заранее спасибо.

Ответы

2 satwell Oct 27 2020 at 20:47

sshdпо умолчанию уже проверяет ~/.ssh/authorized_keysа ~/.ssh/authorized_keys2. Это можно настроить с помощью AuthorizedKeysFileпараметра in /etc/ssh/sshd_config, который может принимать список из нескольких файлов для проверки. Откуда sshd_config(5):

AuthorizedKeysFile

Задает файл, содержащий открытые ключи, используемые для аутентификации пользователя. Формат описан в разделе AUTHORIZED_KEYS FILE FORMAT sshd (8). Аргументы для AuthorizedKeysFile принимают токены, описанные в разделе ТОКЕНОВ. После раскрытия AuthorizedKeysFile принимается за абсолютный путь или путь относительно домашнего каталога пользователя. Могут быть перечислены несколько файлов, разделенных пробелом. В качестве альтернативы для этой опции можно установить значение none, чтобы пропустить проверку ключей пользователя в файлах. По умолчанию это ".ssh / authorized_keys .ssh / authorized_keys2".