답변:
귀하의 링크는 10 년이 지난 문서를 가리 킵니다.
SSH는 여러 가지 방법으로 사용자를 인증합니다. 가장 일반적인 방법은 로그인과 암호를 요청하는 것이지만 사용자는 로그인과 공개 키를 인증 할 수도 있습니다. PasswordAuthentication을 no로 설정하면 더 이상 로그인 및 비밀번호를 사용하여 인증 할 수 없으며 대신 로그인 및 공개 키를 사용해야합니다 ( PubkeyAuthentication 이 yes로 설정된 경우 )
PasswordAuthentication 설정은 모든 비밀번호 기반 인증을 제어하지는 않습니다. ChallengeResponseAuthentication은 일반적으로 암호를 요구합니다.
PasswordAuthentication은 RFC-4252 (섹션 8)에 정의 된 '암호'인증 체계에 대한 지원을 제어합니다. RFC-4256에 정의 된 '키보드 대화 형'인증 체계에 대한 지원을 제어합니다. '키보드 대화식'인증 체계는 이론적으로 사용자에게 여러 개의 자주 묻는 질문을 할 수 있습니다. 실제로는 종종 사용자의 비밀번호 만 요구합니다.
비밀번호 기반 인증을 완전히 사용하지 않으려면 BOTH PasswordAuthentication 및 ChallengeResponseAuthentication을 'no'로 설정하십시오. 벨트와 서스펜더의 사고 방식이라면 UsePAM을 '아니요'로 설정하십시오.
공개 / 개인 키 기반 인증 (PubkeyAuthentication 설정으로 활성화)은 물론 서버에 사용자 암호를 보내지 않는 별도의 인증 유형입니다.
일부는 ChallengeResponseAuthentication을 사용하는 것이 자동화하기가 더 어렵 기 때문에 PasswordAuthentication보다 안전하다고 주장합니다. 따라서 ChallengeResponseAuthentication을 활성화 한 상태에서 PasswordAuthentication을 비활성화 한 상태로 두는 것이 좋습니다. 이 구성은 또한 자동화 된 시스템 로그인에 공개 키 인증을 사용하도록 권장합니다 (그러나 반드시 방지 할 필요는 없습니다). 그러나 SSH는 네트워크 기반 프로토콜이기 때문에 서버는 ChallengeResponseAuthentication (일명 '키보드 대화 형')에 대한 응답이 항상 키보드를 사용하는 사용자가 항상 키보드를 사용하는 동안 제공되는 것을 보장 할 방법이 없습니다. 사용자에게 비밀번호를 요청하는 것만으로 구성됩니다.
UsePAM
부탁 드립니다 ...
PasswordAuthentication은 수행 할 작업이 없으므로 가장 쉬운 구현입니다. 반대 부분은 암호 연결을 통해 암호를 서버로 보내는 것입니다. 암호가 캡처 될 수 있으므로 서버가 손상된 경우 보안 문제가 될 수 있습니다.
공개 키를 사용하면 암호가 서버로 전송되지 않고보다 안전하지만 더 많은 설정이 필요합니다.
keys 를 사용할 때 no로 설정 하거나 강제로 사용할 수 있습니다.