Некоторые из моих систем Linux и FreeBSD имеют десятки пользователей. Персонал будет использовать эти узлы "ssh gateway" для SSH на другие внутренние серверы.
Мы обеспокоены тем, что некоторые из этих людей используют незашифрованный закрытый SSH-ключ (ключ без ключевой фразы . Это плохо , потому что, если взломщик когда-либо получит доступ к своей учетной записи на этом компьютере, он может украсть закрытый ключ и получить доступ на любой компьютер, который использует этот же ключ. В целях безопасности мы требуем, чтобы все пользователи шифровали свои закрытые ключи SSH с помощью ключевой фразы.
Как я могу узнать, что закрытый ключ не зашифрован (например, не содержит парольную фразу)? Есть ли другой способ сделать это на ключе, защищенном ASCII, и ключе, не защищенном ASCII?
Обновить:
Для пояснения, предположим, что у меня есть права суперпользователя на машине, и я могу прочитать личные ключи каждого.
Ответы:
Ну, закрытые ключи OpenSSH с пустыми парольными фразами на самом деле не шифруются.
Зашифрованные закрытые ключи объявляются как таковые в файле закрытых ключей. Например:
Так что-то вроде
должен сделать свое дело.
источник
-L
флаг отображает только имена файлов, которые не соответствуют шаблону. Так что этот ответ верен сам по себе.Я искал повсюду для этого и никогда не находил удовлетворительного ответа, но мне удалось построить один, так что ...
Обратите внимание, что это обновит файл, если он будет работать, поэтому, если вы пытаетесь не быть замеченным пользователями, ключи которых вы тестируете, вы можете сначала скопировать ключ. OTOH, поскольку вы только что поймали своего пользователя с помощью пароля без пароля, возможно, вам все равно, заметят ли они. : D
источник
-N ''
так, чтобы фраза-пароль всегда оставалась неизменной?Если у вас есть доступ к закрытому ключу, я полагаю, вы можете использовать его без ключевой фразы для аутентификации на основе открытого ключа. Если это работает, вы знаете, что у него нет парольной фразы. Если бы это было так, вы бы получили сообщение об ошибке.
Если у вас нет доступа к закрытому ключу, я сомневаюсь, что вы можете обнаружить это. Цель ключевой фразы - «разблокировать» закрытый ключ, он не имеет функции в отношении открытого ключа.
Фактически, если бы это было так, это сделало бы систему менее безопасной. Можно использовать открытый ключ, который доступен, чтобы попытаться установить грубую силу или другие атаки, пытающиеся взломать ключевую фразу.
источник