Фраза-пароль, которую можно установить для закрытого ключа, не связана с сервером SSH или с подключением к нему. Установка парольной фразы для закрытого ключа является просто мерой безопасности, которую владелец ключа может предпринять, чтобы предотвратить доступ к его удаленной оболочке третьей стороной в случае кражи закрытого ключа.
К сожалению, вы не можете заставить пользователей защищать свои закрытые ключи с помощью парольных фраз. Иногда для автоматизации доступа к удаленному SSH-серверу требуются незащищенные закрытые ключи. Одна хорошая привычка , которую я очень рекомендую для таких случаев посоветовать пользователям хэша в known_hosts файл (хранится в ~ / .ssh / known_hosts ), которая хранит информацию об удаленных хостов в подключает пользователей к, используя следующую команду:
ssh-keygen -H -f ~/.ssh/known_hosts
Таким образом, даже если третья сторона получит доступ к незащищенному закрытому ключу, будет крайне сложно определить, для каких удаленных хостов этот ключ действителен. Конечно, очистка истории оболочки обязательна для того, чтобы этот метод имел какую-либо ценность.
Кроме того, еще одна вещь, которую вы всегда должны иметь в виду, это не разрешать root входить удаленно, добавив следующее в конфигурацию вашего SSH-сервера (sshd_config):
PermitRootLogin no
С другой стороны, если вы хотите запретить пользователям использовать ключи для аутентификации, но вместо этого использовать пароли, вы должны добавить в свой sshd_config следующее :
PasswordAuthentication yes
PubkeyAuthentication no
Рожденный ездить
источник
Одним из смягчений будет использование плагина модуля PAM для аутентификатора Google. Обычно доступны в официальных пакетах.
Это сделает 2FA доступным через 6-значный код на вашем смартфоне.
Инструкции здесь: Как настроить многофакторную аутентификацию для SSH в Ubuntu 16.04
источник
ПРОСТО, вы просто расширяете протокол SSH, чтобы клиент SSH или агент SSH сообщал / устанавливал флаг, чтобы сказать, был ли зашифрован исходный закрытый ключ или нет (возможно, серверная сторона может даже задать запрос) - поскольку клиентская сторона имеет видимость закрытого ключа и даже запрашивает парольную фразу, когда ключ зашифрован.
источник