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

С такой же настройкой abc SSH может ли другой пользователь def SSH к удаленному серверу без запроса пароля?

Я имею в виду, что каждый пользователь должен установить ключ SSH с удаленным сервером, если он хочет подключиться без запроса пароля?

2 ответа2

0

Не без усилий сломать безопасность SSH. Каждый пользователь имеет собственный закрытый ключ в своем собственном каталоге (в дополнение к ключу хоста SSH, хранящемуся в другом каталоге). Чтобы кто-то другой мог использовать ваш закрытый ключ SSH, он должен иметь возможность прочитать его, и SSH обычно не запускается, когда открываются разрешения на этот ключ.

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

Конечно, могут скрываться неизвестные уязвимости, которые могут позволить пользователю каким-то образом получить закрытый ключ, читая память, которая недостаточно защищена, но это не то, что может сделать Джо Средний.

0

У каждого пользователя должны быть свои собственные ключи SSH, а открытые ключи, подключенные к этим пользователям, должны быть установлены в файле .ssh/authorized_keys любого обычного пользователя, к которому ему нужен доступ.

Ваш вопрос неясен, но я попытаюсь остановиться на некоторых вещах, которые вы говорите.

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

В общем, совместное использование одного и того же ключа с разными пользователями не является хорошей идеей с точки зрения безопасности. Допустим, вы хотите отменить доступ для одного пользователя ... Как бы вы это сделали? Единственный эффективный способ сделать это - удалить ключ с сервера ... Но тогда вам нужно создать новый ключ SSH и снова поделиться им с другими пользователями.

Лучший выбор для общего пользования - дать каждому пользователю свой ключ.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .