Осуществить ключевые пароли SSH?

Одним очень гибким и хорошо зарегистрированным решением является OpenVPN (http://openvpn.net/), Это доступно как пакет из стандартного репозитория в Ubuntu и должно быть в Debian также.

9
задан 8 November 2009 в 11:44
6 ответов

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

К сожалению, Вы не можете вынудить пользователей защитить свои закрытые ключи с паролями. Иногда, незащищенные закрытые ключи требуются для автоматизации доступа к удаленному серверу SSH. Одна хорошая привычка, которую я настоятельно рекомендую для таких случаев, состоит в том, чтобы советовать пользователям хешировать known_hosts файл (сохраненный в ~/.ssh/known_hosts), который сохраняет информацию об удаленных хостах пользовательскими подключениями к, с помощью следующей команды:

ssh-keygen -H -f ~/.ssh/known_hosts

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

Кроме того, другая вещь, которую необходимо всегда принимать во внимание, не, позволяют корню входить в систему удаленно путем добавления следующего в конфигурации сервера SSH (sshd_config):

PermitRootLogin no

С другой стороны, если Вы хотите препятствовать тому, чтобы пользователи использовали ключи для аутентификации, но вместо этого использовать пароли, необходимо добавить следующее к sshd_config:

PasswordAuthentication yes
PubkeyAuthentication no
19
ответ дан 2 December 2019 в 22:18

Это не возможно.

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

8
ответ дан 2 December 2019 в 22:18

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

3
ответ дан 2 December 2019 в 22:18

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

После того, как файлы ключей окажутся в контролируемом месте, вам понадобится интерфейс управления для обновления (и применения политики паролей) с последующим распределением ключей между необходимыми хостами. Либо скатайте один, либо посмотрите на такие продукты, как FoxT / Tectia и т. Д.

2
ответ дан 2 December 2019 в 22:18

ПРОСТО, вы просто расширяете протокол SSH так, чтобы клиент SSH или агент SSH сообщал / устанавливал флаг, чтобы сказать, был ли зашифрован исходный закрытый ключ или нет (возможно, серверная сторона может даже представить запрос) - поскольку клиентская сторона видит закрытый ключ и даже запрашивает парольную фразу, когда ключ зашифрован.

0
ответ дан 2 December 2019 в 22:18

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

Это сделает доступной двухфакторную аутентификацию с помощью 6-значного кода на вашем смартфоне.

Инструкции здесь: Как настроить многофакторную аутентификацию для SSH в Ubuntu 16.04

0
ответ дан 18 February 2020 в 13:33

Теги

Похожие вопросы