답변:
몇 가지 옵션이 있습니다. 이 답변에서는 sudoers그룹이 정의 되어 있다고 가정합니다 .
상기 살펴보세요 sshd_configman 페이지를하고 찾아 Match지시어. 이를 통해 ssh 연결의 서브 세트에만 적용되는 구성 블록을 지정할 수 있습니다. 다음과 같이 할 수 있습니다.
Match Group sudoers
PasswordAuthentication no
ChallengeResponseAuthentication no
이론적으로 PAM 구성과 유사한 기능을 수행하면 sudoers그룹 구성원의 인증 시도가 실패합니다 . 이것은 아마도 pam_succeed_if 모듈과 관련이 있습니다 ... authsshd 의 구성에 다음과 같은 것을 추가 할 수 있습니다 :
auth requisite pam_succeed_if.so user notingroup sudoers quiet
이는 sudoers그룹에 속하지 않은 사람 만 PAM을 통해 인증 할 수 있음을 의미합니다 . 이것은 테스트되지 않았습니다. pam_listfile 모듈을 사용하여 비슷한 작업을 수행 할 수도 있습니다
.
@larsks와 같은 또 다른 가능한 대답은 내 버전에 대한 답변이 작동하지 않습니다. 내 버전은 여기에 있는 ssh_d설명서를 사용하는 것으로 보입니다 .
일치 키워드 다음 줄에는 키워드의 하위 집합 만 사용할 수 있습니다. 사용 가능한 키워드는입니다. . .
해당 키워드 목록에는 다음이 포함되지 않습니다 ChallengeResponseAuthentication..
내가 찾은 정말 재미있는 방법 AuthenticationMethods은 귀하의 경우 다음과 같이 작동하는 것입니다.
Match Group sudoers
AuthenticationMethods 'publickey'
AuthenticationMethods 서버에 액세스하기 전에 사용자가 전달해야하는 일련의 메소드를 나타내는 쉼표로 구분 된 값 목록을 가져옵니다.
AuthenticationMethods 'publickey,password' 사용자가 공개 키와 암호를 전달하도록 강요합니다.
더 읽으려면 man sshd_config.