Одно из решений, которое мы использовали ранее, состоит в том, чтобы на самом деле не позволять серверу управления выполнять команды непосредственно на подчиненных устройствах, а чтобы демон / скрипт на подчиненных устройствах извлекал список задач из узла управления и выполнял их. Таким образом, вам не нужно хранить привилегированную информацию, а нужно только дать подчиненному доступ к «списку задач».
Базовой реализацией будет просто база данных, к которой обращается ведомый, но вы также можете создать архитектуру клиент-сервер.
Если вы хотите, чтобы сервер SSH подключался к ведомому, вы можете повысить привилегии, используя sudo
, который имеет дополнительные функции, такие как ограничение команд, которые конкретный пользователь может выполнять с повышенными привилегиями. Хранение пароля, как вы уже упоминали, очень сложно, так как в тот или иной момент он должен быть доступен простым текстом.