У меня есть ssh-доступ к почти дюжине машин, и я склонен работать с нескольких устройств самостоятельно (один основной ноутбук, один домашний ноутбук, смартфон через termux, планшет через termux, один резервный macbook, установка cygwin в офисе). Кроме того, некоторым из этих машин требуется доступ друг к другу (например, rsync через ssh для удаленного резервного копирования).
Когда у меня было меньше устройств, я был достаточно строг в отношении уникального ключа для каждой пары соединений, но это стало слишком громоздким, поэтому в настоящее время я работаю с двумя ключами (называемыми «личный» и «рабочий») для каждого устройства и имею два разных файла authorized_keys, в которых перечислены открытые ключи для всех ключей моих устройств. У меня есть простой скрипт bash, который отправляет эти файлы authorised_keys на нужные машины.
Это также разбито по сложности, потому что, например, есть некоторые устройства, которые должны иметь дополнительные ключи между устройствами, которые я не хочу предоставлять доступ ко всем моим машинам (например, ключ только для резервного копирования не должен быть разрешен доступ к моему домашнему ноутбуку).
Какой удобный способ управления ключами (и, в частности, авторизованными ключами) на каждой из этих машин? Я знаю об ANSIBLE и марионетках, и взглянул на оба, но они кажутся слишком сложными для того, что я пытаюсь сделать.
Я полагаю, что для меня идеальной ситуацией было бы иметь какой-то тип отображения матриц между ключами и машинами, который затем генерировал бы правильный файл author_keys для всех машин и передавал его, но openssh, похоже, не имеет такого инструмента.