Может кто-нибудь объяснить «PasswordAuthentication» в файле / etc / ssh / sshd_config?


28

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

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

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

Ответы:


21

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

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


хорошо, только для authorized_key2: (1) закомментируйте AuthorizedKeysFile (2) PasswordAuthentication no (3) PubkeyAuthentication yes (4) ChallengeResponseAuthentication no (5) протестируйте его ... если он все еще принимает пароли, также добавьте UsePam no
YumYumYum

Используйте эти настройки: fpaste.org/114544/04202660, когда разрешено только SSH-вход через ~ / .ssh / authorized_keys2, но не с именем пользователя / паролем
YumYumYum

1
и какова стоимость по умолчанию? Я имею в виду, что если я не укажу «PasswordAuthentication»?
Риккардо SCE

@TSERiccardo: Никто не ответил на ваш вопрос? Обидно, виноват ТАК!
Тимо

1
@RiccardoSCE Согласно справочной странице sshd_config, по умолчанию для PasswordAuthentication установлено значение «да».
Морская звезда

53

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

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

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

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

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


7
Я был бы признателен за некоторые объяснения того, что UsePAMделает ...
Алексей

3

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


Этот ответ немного устарел, но я хотел бы добавить кое-что: Самое замечательное в аутентификации Pubkey - то, что никакие секреты не передаются на сервер вообще. Секретный ключ остается секретным на вашем компьютере, то есть вы не можете случайно передать какой-либо секрет на скомпрометированный или MITM-сервер. Таким образом, Pubkey определенно предпочтительнее аутентификации по паролю. Но в любом случае, да, аутентификацию по паролю проще реализовать.
Янв

Не было бы хлопот, настраивающих это, просто наравне с тем, чтобы лень не делать этого.
Судо

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.