sshd: 일부 공개 키는 직접 로그인할 수 있도록 허용하고 나머지는 비밀번호가 필요합니다.

sshd: 일부 공개 키는 직접 로그인할 수 있도록 허용하고 나머지는 비밀번호가 필요합니다.
  • sshd를 실행하는 서버가 있습니다.
  • SSH 키가 있는 보안 컴퓨터가 있습니다. 보안 시스템의 키를 사용하여 서버에 직접 공개 키 로그인을 허용하고 싶습니다.
  • 또한 분실 시 손상될 수 있는 다른 SSH 키가 있는 노트북도 있습니다. 키가 손상된 경우를 대비해 공개 키 인증 외에 비밀번호를 요구하고 싶습니다.

이 구성을 수정할 수 있습니까 sshd_config?

이 질문은 로그인을 위한 공개 키와 비밀번호 설정에 관한 것이 아닙니다. 대신 공개 키를 기반으로 다양한 조합을 선택하는 방법을 찾고 있습니다.

답변1

한 가지 접근 방식은 동일한 UID를 가진 두 명의 사용자를 만든 다음 sshd_config사용할 때 Match User서로 다른 로그인 정책을 적용하는 것 입니다. 물론 authorized_keys두 사용자 모두에 대해 서로 다른 파일을 배치하십시오.

추가 보너스(확인하지는 않았지만): 두 명의 사용자가 동일한 홈 디렉토리를 공유할 수 있으며 해당 섹션에서 서로 다른 홈 디렉토리를 authorized_keys지정할 수 있습니다 .sshd_configMatch User

답변2

MATCH를 사용하려면 여러 인증 방법이 필요합니다.

sshd_config불행하게도 주어진 공개 키를 일치 조건으로 사용하는 것을 지원 하지 않는 것 같습니다 . 그러나 귀하의 경우안전 기계그리고 노트북은 항상 별도의 호스트 주소를 사용하여 서버에 연결하므로 "일치" 부분을 사용하여 특정 사용자에 대해 여러 인증 방법을 요구할 수 있습니다.

다음 Match 섹션을 추가합니다.sshd_config

Match Host laptop.host.ip.addr, User sshuser
    PasswordAuthentication yes 
    AuthenticationMethods publickey,password

sshd_config각 인증 방법은 구성에서 명시적으로 활성화 되어야 합니다 . 전역 인증 설정을 변경하지 않으려면 일치 섹션에서 이 작업을 수행할 수 있습니다.

옵션 AuthenticationMethods은 쉼표로 구분된 목록입니다. 따라서 앞의 예시 AuthenticationMethods publickey,password와는 다르게 공개키와 비밀번호 인증이 필요합니다. AuthenticationMethods publickey password후자의 경우 공개 키 또는 비밀번호 인증이 필요합니다.

관련 정보