LDAP 인증 *및* SSH 인증이 모두 필요합니다.

LDAP 인증 *및* SSH 인증이 모두 필요합니다.

다음을 활성화하고 싶습니다. 현재 상자에 홈 디렉터리가 없는 사용자의 LDAP 인증을 수행하는 AWS의 Linux ec2 인스턴스입니다. 작업을 위해 AWS에 작동 중인 openLDAP가 있습니다.

LDAP가 인증되면:

  • 사용자의 홈 디렉토리가 생성됩니다
  • 사용자의 공개 SSH 키는 sshPublicKeyLDAP의 속성에서 검색되며 로컬 sshPrivateKey가 일치하는 경우에만 로그온할 수 있습니다.

LDAP 인증 방법을 알고 있습니다.또는를 통해 공개 키를 검색하는데 ldapsearch둘 다 수행하고 싶습니다.

제가 완화하려는 시나리오는 직원이 회사를 떠날 때입니다. openLDAP에서 해당 계정을 비활성화할 수 있으며, 공개 키가 컴퓨터에 있더라도 LDAP 인증도 실패하므로 사용할 수 없습니다. .

StackExchanges를 검색했지만 원하는 것을 찾지 못한 것 같습니다. 내가 왔던 가장 가까운 곳은

https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap

https://serverfault.com/questions/579341/combination-of-ssh-key-auth-and-two-factor-authentication

답변1

우선, 인증된 키는 다음 두 가지 이유로 사용자의 홈 디렉터리에 저장되어서는 안 됩니다.

  1. 사용자가 임의로 승인된 키를 직접 추가하도록 허용해서는 안 됩니다.
  2. 처음 로그인하는 동안 홈 디렉터리가 아직 존재하지 않으면 인증된 키가 이미 거기에 있어야 합니다.

오히려 설정해야합니다승인된 키파일이렇게 놔두려고SSHD도우미 동기화 스크립트를 통해 키를 배치한 잠긴 디렉터리에서 인증된 키를 읽습니다.

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

이것의 변형은 다음을 사용하고 있습니다.AuthorizedKeys명령승인된 키의 동적 검색을 트리거합니다. 로그인해야 하는 순간 네트워크가 다운되었거나 시스템에 접속할 수 없다는 점을 명심하세요.

직원이 퇴사하는 경우 승인된 키도 제거합니다.

키 및 비밀번호 기반 인증을 계속 사용하려면 다음을 설정하세요.인증 방법이와 같이:

AuthenticationMethods publickey,password

공백 대신 구분 기호로 사용되는 쉼표에 유의하세요.

(모든 세부 사항을 직접 처리하고 싶지 않다면 다음과 같이 즉시 사용 가능한 솔루션을 설정할 수 있습니다.프리IPA~와 함께SSDNSS/PAM 클라이언트 또는 내Æ-DIR~와 함께aehostdNSS/PAM 클라이언트로 사용됩니다.)

관련 정보