누군가가 / etc / ssh / sshd_config 파일에서 'PasswordAuthentication'을 설명 할 수 있습니까?


28

이 페이지 , 주어진 설명입니다 :

PasswordAuthentication 옵션은 비밀번호 기반 인증을 사용해야하는지 여부를 지정합니다. 보안을 강화하려면이 옵션을 항상 yes로 설정해야합니다.

그러나 예 또는 아니오가 적절한시기를 명확히하는 유스 케이스 시나리오를 제공하지 못합니다. 누군가 더 자세히 설명해 주시겠습니까?

답변:


21

귀하의 링크는 10 년이 지난 문서를 가리 킵니다.

SSH는 여러 가지 방법으로 사용자를 인증합니다. 가장 일반적인 방법은 로그인과 암호를 요청하는 것이지만 사용자는 로그인과 공개 키를 인증 할 수도 있습니다. PasswordAuthentication을 no로 설정하면 더 이상 로그인 및 비밀번호를 사용하여 인증 할 수 없으며 대신 로그인 및 공개 키를 사용해야합니다 ( PubkeyAuthentication 이 yes로 설정된 경우 )


그러므로 authorized_key2의 경우에만 유효합니다. (1) AuthorizedKeysFile을 주석 처리하십시오. (2) PasswordAuthentication 아니오 (3) PubkeyAuthentication 예 (4) ChallengeResponseAuthentication 아니오 (5) 테스트 ... 비밀번호를 여전히 승인하는 경우 UsePam no
YumYumYum을

이 설정을 사용 fpaste.org/114544/04202660이 경우에만 ~ / 스푸핑 / authorized_keys2로 통해 SSH 로그인을 허용하지만 사용자 이름 / 암호
YumYumYum

1
그리고 그것의 DEFAULT 가치는 무엇입니까? "PasswordAuthentication"을 지정하지 않으면 어떻게됩니까?
Riccardo SCE

@ TSERiccardo : 아무도 당신의 질문에 대답하지 않았습니까? 부끄러운 일입니다.
Timo

1
@RiccardoSCE sshd_config 매뉴얼 페이지에 따르면 PasswordAuthentication의 기본값은 'yes'입니다.
불가사리

53

PasswordAuthentication 설정은 모든 비밀번호 기반 인증을 제어하지는 않습니다. ChallengeResponseAuthentication은 일반적으로 암호를 요구합니다.

PasswordAuthentication은 RFC-4252 (섹션 8)에 정의 된 '암호'인증 체계에 대한 지원을 제어합니다. RFC-4256에 정의 된 '키보드 대화 형'인증 체계에 대한 지원을 제어합니다. '키보드 대화식'인증 체계는 이론적으로 사용자에게 여러 개의 자주 묻는 질문을 할 수 있습니다. 실제로는 종종 사용자의 비밀번호 만 요구합니다.

비밀번호 기반 인증을 완전히 사용하지 않으려면 BOTH PasswordAuthentication 및 ChallengeResponseAuthentication을 'no'로 설정하십시오. 벨트와 서스펜더의 사고 방식이라면 UsePAM을 '아니요'로 설정하십시오.

공개 / 개인 키 기반 인증 (PubkeyAuthentication 설정으로 활성화)은 물론 서버에 사용자 암호를 보내지 않는 별도의 인증 유형입니다.

일부는 ChallengeResponseAuthentication을 사용하는 것이 자동화하기가 더 어렵 기 때문에 PasswordAuthentication보다 안전하다고 주장합니다. 따라서 ChallengeResponseAuthentication을 활성화 한 상태에서 PasswordAuthentication을 비활성화 한 상태로 두는 것이 좋습니다. 이 구성은 또한 자동화 된 시스템 로그인에 공개 키 인증을 사용하도록 권장합니다 (그러나 반드시 방지 할 필요는 없습니다). 그러나 SSH는 네트워크 기반 프로토콜이기 때문에 서버는 ChallengeResponseAuthentication (일명 '키보드 대화 형')에 대한 응답이 항상 키보드를 사용하는 사용자가 항상 키보드를 사용하는 동안 제공되는 것을 보장 할 방법이 없습니다. 사용자에게 비밀번호를 요청하는 것만으로 구성됩니다.


7
나는 무엇에 대한 설명을 UsePAM부탁 드립니다 ...
Alexey

3

PasswordAuthentication은 수행 할 작업이 없으므로 가장 쉬운 구현입니다. 반대 부분은 암호 연결을 통해 암호를 서버로 보내는 것입니다. 암호가 캡처 될 수 있으므로 서버가 손상된 경우 보안 문제가 될 수 있습니다.
공개 키를 사용하면 암호가 서버로 전송되지 않고보다 안전하지만 더 많은 설정이 필요합니다.


이 답변은 조금 오래되었지만 아직 무언가를 추가하고 싶습니다. Pubkey 인증의 장점은 서버에 비밀이 전혀 전송되지 않는다는 것입니다. 개인 키는 컴퓨터에서 비밀로 유지됩니다. 즉, 손상된 비밀 서버 나 MITM 서버에 실수로 어떤 종류의 비밀도 전송할 수 없습니다. 따라서 Pubkey는 암호 인증보다 유리합니다. 그러나 어쨌든 암호 인증은 구현하기가 더 쉽습니다.
Jan D

그것을하지 않는 게으른 것에 대한 파업으로 번거롭지 않을 것입니다.
sudo

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.