일부 사용자는 SSH 키 사용을 선호하지만 다른 사용자는 LDAP 제공 비밀번호를 선호하는 SSH 서버를 설정하려고 합니다.
sshd_config
공개키 + PAM 또는 PAM 전용 인증을 설정할 수 있다는 것을 알았습니다 .
AuthenticationMethods publickey,keyboard-interactive:pam keyboard-interactive:pam
PAM 부분이 예상대로 작동합니다. 사용자가 LDAP 비밀번호를 입력하고 확인 코드를 묻는 메시지가 표시됩니다.
그러나 공개 키 인증은 사용자가 키를 사용하고 LDAP 비밀번호를 입력한 다음 인증 코드를 입력하도록 작동합니다. (키 사용자에게도 비밀번호를 요청하는 것을 원하지 않습니다.)
2FA 인증 코드를 요청하는 동안 키 사용자가 비밀번호를 입력할 필요가 없도록 지원할 수 있나요? 한편, 키를 제공하지 않은 사용자도 비밀번호를 사용하여 인증할 수 있으며 2FA 인증 코드도 요청할 수 있나요?
참고: 우리는 시스템에서 단일 SSH 서버 프로세스를 실행하기를 원하며, 서로 다른 포트에서 여러 SSH 서버를 실행하는 것과 같은 솔루션을 사용하지 않는 것을 선호합니다.
감사해요!
답변1
이 RedHat 기사가 당신에게 유용할 것이라고 생각합니다. sshd_config에서 다음을 수행할 수 있을 것 같습니다.
기본 로그인을 LDAP 비밀번호 + TOTP로 설정하려면
AuthenticationMethods publickey,keyboard-interactive
그런 다음 사용자별로 공개 키 + TOTP를 설정합니다.
Match user <username>
AuthenticationMethods publickey,keyboard-interactive