У каждого пользователя должны быть свои собственные ключи SSH, а открытые ключи, подключенные к этим пользователям, должны быть установлены в файле .ssh/authorized_keys
любого обычного пользователя, к которому ему нужен доступ.
Ваш вопрос неясен, но я попытаюсь остановиться на некоторых вещах, которые вы говорите.
Во-первых, пользователь и ключ - это две разные вещи. Один пользователь может иметь много ключей или несколько пользователей могут использовать один и тот же ключ. Все зависит от того, с каким уровнем доступа вы можете иметь дело, и от того, что вы ожидаете от других, получая доступ без пароля.
В общем, совместное использование одного и того же ключа с разными пользователями не является хорошей идеей с точки зрения безопасности. Допустим, вы хотите отменить доступ для одного пользователя ... Как бы вы это сделали? Единственный эффективный способ сделать это - удалить ключ с сервера ... Но тогда вам нужно создать новый ключ SSH и снова поделиться им с другими пользователями.
Лучший выбор для общего пользования - дать каждому пользователю свой ключ.
Но поскольку ключи и пользователи - это разные вещи, удаленный пользователь всегда может быть универсальным и просто добавлять / удалять ключи по мере необходимости.
Например, многие настройки кодирования позволяют нескольким пользователям использовать общего пользователя deploy
, к которому администратор (или кто-то ответственный) добавляет / удаляет ключи по требованию. Каждый, кто развертывает код, будет делать это через пользователя deploy
и он может сделать это, поскольку его открытый ключ добавляется в файл .ssh/authorized_keys
в учетной записи пользователя deploy
. И если сотрудник покидает компанию или есть. больше не подключен к проекту? Просто удалите их конкретный ключ, и жизнь продолжается.
Но в целом у каждого пользователя должны быть свои собственные ключи SSH, и тогда использование этих ключей - через что-то вроде обычной / общей учетной записи пользователя на сервере - определяет способ управления доступом.