답변:
몇 가지 옵션이 있습니다. 이 답변에서는 sudoers
그룹이 정의 되어 있다고 가정합니다 .
상기 살펴보세요 sshd_config
man 페이지를하고 찾아 Match
지시어. 이를 통해 ssh 연결의 서브 세트에만 적용되는 구성 블록을 지정할 수 있습니다. 다음과 같이 할 수 있습니다.
Match Group sudoers
PasswordAuthentication no
ChallengeResponseAuthentication no
이론적으로 PAM 구성과 유사한 기능을 수행하면 sudoers
그룹 구성원의 인증 시도가 실패합니다 . 이것은 아마도 pam_succeed_if 모듈과 관련이 있습니다 ... auth
sshd 의 구성에 다음과 같은 것을 추가 할 수 있습니다 :
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
.