24

На этой странице дано объяснение:

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

Но в нем не представлены сценарии использования, в которых разъясняется, когда будет уместно «да» или «нет». Может кто-нибудь уточнить, пожалуйста?

4 ответа4

49

Обратите внимание, что параметр PasswordAuthentication не контролирует ВСЕ пароли на основе аутентификации. ChallengeResponseAuthentication обычно также запрашивает пароли.

PasswordAuthentication контролирует поддержку схемы аутентификации по паролю, определенной в RFC-4252 (раздел 8). ChallengeResponseAuthentication контролирует поддержку «интерактивной клавиатуры» схемы аутентификации, определенной в RFC-4256. Схема аутентификации «клавиатурно-интерактивная» теоретически может задавать пользователю любое количество разносторонних вопросов. На практике он часто запрашивает только пароль пользователя.

Если вы хотите полностью отключить аутентификацию на основе паролей, установите BOTH PasswordAuthentication и ChallengeResponseAuthentication в «no». Если вы относитесь к мышлению с поясом и подтяжками, подумайте о том, чтобы установить UsePAM на «нет».

Аутентификация на основе открытого / закрытого ключа (включается параметром PubkeyAuthentication) - это отдельный тип аутентификации, который, конечно, не включает отправку паролей пользователей на сервер.

Некоторые утверждают, что использование ChallengeResponseAuthentication более безопасно, чем PasswordAuthentication, потому что его сложнее автоматизировать. Поэтому они рекомендуют оставить PasswordAuthentication отключенной, а ChallengeResponseAuthentication - включенной. Эта конфигурация также поощряет (но не обязательно предотвращает) использование аутентификации по публичному ключу для любых автоматических входов в систему. Но, поскольку SSH является сетевым протоколом, сервер не может гарантировать, что ответы на ChallengeResponseAuthentication (также называемые «клавиатура-интерактив») фактически предоставляются пользователем, сидящим за клавиатурой, если вызов (-ы) всегда и состоит только в том, чтобы спросить у пользователя ее пароль.

19

Ваша ссылка указывает на документацию 10 лет устаревшей.

SSH поддерживает несколько способов аутентификации пользователей, наиболее распространенным из которых является запрос имени пользователя и пароля, но вы также можете аутентифицировать пользователя с помощью логина и открытого ключа. Если для PasswordAuthentication установлено значение no, вы больше не сможете использовать логин и пароль для аутентификации и вместо этого должны использовать логин и открытый ключ (если для PubkeyAuthentication установлено значение yes)

3

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

0

Вы можете установить его на «нет» при использовании клавиш или принудительно их использовать.

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