Назад | Перейти на главную страницу

Стратегия управления SSH-доступом физических лиц из хаба Ansible

У моей команды есть хаб Ansible, из которого мы управляем несколькими узлами. Для этого мы подключаемся к хабу по ssh, а с помощью sudo - к общему «доступному» пользователю. У этого пользователя есть пара ключей ssh, которая есть у всех узлов в их файле authorized_keys.

Это работает, но означает, что каждый имеет доступ ко всем узлам в любое время.

Я бы хотел иметь какой-то подход, который позволяет нам ограничивать пользователей, чтобы они могли получить доступ только к определенным узлам. Мы могли бы добавлять / удалять отдельные ключи из authorized_keys каждого узла по мере необходимости, но, похоже, с этим сложно справиться. Я бы хотел, чтобы было легко управлять, чтобы мы могли быстро авторизовать / деавторизовать пользователя для разных узлов.

У кого-нибудь есть такая стратегия? Я думал об использовании подписанные ключи ssh чтобы предоставить временный доступ, но еще не исследовал его.

У вас есть Ansible - поэтому есть быстрое решение - используйте для этого Ansible ...

Если у всех пользователей в хабе есть открытый ключ, вы можете использовать эти открытые ключи и доступного пользователя для публикации открытого ключа пользователя на целевых хостах.

Если вы хотите ограничить доступ для каждой машины, вы можете настроить список пользователей для каждого хоста или группы хостов и заполнить эти открытые ключи только для этих хостов в этой группе. Также легко удалить пользователя с целевого хоста, используя карту и шаблон (вместо добавления pubkey) или создав отрицательный список.

Таким образом, пользователь может переключаться с концентратора на целевой компьютер напрямую без пользователя Ansible.