Почему аутентификация с открытым ключом предпочтительнее для автоматизированных сценариев? - PullRequest
1 голос
/ 25 марта 2010

Я нашел следующую претензию в документации для Net :: OpenSSH :

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

В чем недостаток использования аутентификации по паролю в автоматизированных сценариях?

Ответы [ 3 ]

3 голосов
/ 25 марта 2010

Пароли легче угадать / перебор, чем закрытые ключи (если вы не используете Debian;)

Представьте, что у вас есть учетная запись пользователя, которая запускает 120 различных автоматизированных сценариев. Если вы жестко закодировали пароль для каждого из них, теперь у вас есть 120 мест для его изменения.

Если вы поместите пароль в файл конфигурации, и все 120 сценариев прочитают его из файла, рано или поздно кто-то случайно сделает этот файл доступным для чтения. ssh не будет работать, если закрытый ключ не равен 600.

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

1 голос
/ 26 марта 2010

Аутентификация с открытым ключом всегда должна быть предпочтительнее для любого удаленного ресурса. Статистически невозможно угадать ответ на вызов и может предотвратить атаки MITM. Хотя это не исключает возможности того, что злоумышленник будет чрезвычайно счастливчиком.

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

Одна из возможностей этого предупреждения в документации заключается в том, что если вы используете пароль, а скрипт не проверяет открытый ключ sshd, то атака MITM может получить пароль в виде открытого текста. Вы должны проверить аутентификацию удаленных серверов, жестко закодировав открытый ключ. Команда ssh на cli делает это автоматически и выдаст предупреждение, если ключ сервера изменится. Если вы не проверяете учетные данные аутентификации удаленного сервера и используете аутентификацию с открытым ключом, то злоумышленник может только MITM в этом сеансе, потому что злоумышленник не сможет получить закрытый ключ клиента для повторной аутентификации.

1 голос
/ 25 марта 2010

Вероятно, потому что с аутентификацией по паролю, вы должны жестко закодировать сам пароль в сценарий или, по крайней мере, в какой-то файл конфигурации. Думаю, никогда не бывает хорошей идеей жестко закодировать ваш простой пароль ssh:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...