SSHD 인증에는 yubikey AND(공개 키 또는 비밀번호)가 필요합니다.

SSHD 인증에는 yubikey AND(공개 키 또는 비밀번호)가 필요합니다.

Debian 기반 시스템에서 OpenSSH를 구성하려고 합니다.언제나하나 필요해유비카이 탑그리고누구나공개 키또는비밀번호.

를 통해 다른 조합을 얻을 수 있다는 것을 알고 있지만 AuthenticationMethods이 방법을 사용하면 이 조합이 불가능한 것 같습니다.

만약에 password PAM과 별개로 sshd_config다음과 같습니다.

UsePAM yes
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive password,keyboard-interactive

/etc/pam.d/sshdSSHD가 이를 사용하려면 Yubico PAM이 포함되어야 합니다.

auth required pam_yubico.so id=foo key=bar

위의 예에서는 비밀번호 확인으로 인해 원하는 조합을 얻을 수 없습니다.그리고pam.d/sshdyubico-auth는 동일한 인터페이스( 또는)를 사용하여 password동일한 파일()에 정의된 동일한 메커니즘(PAM)을 사용하여 수행됩니다. keyboard-interactive유일한 차이점은 후자가 챌린지 응답을 통해 여러 사용자 입력을 처리할 수 있다는 것입니다.

예를 들어 publickey,keyboard-interactive결과는 publickey + yubikey + 비밀번호, 결과는 yubikey + 비밀번호 + yubikey + 비밀번호 -이지만 password,keyboard-interactive단일 입력 제한으로 인해 이를 충족할 수 없습니다. password비활성화 common-auth하면 pam.d/sshd첫 번째 조합은 만족되지만 두 번째 조합은 불가능해집니다.

문제의 핵심은 OpenSSH가 AuthenticationMethodsPAM 요구 사항을 서로 분리할 수 없고 PAM이 SSH 공개 키 인증("공개 키 또는 비밀번호" 조건을 PAM에 정의하고 sshd에서만 사용할 수 있음 keyboard-interactive)을 이해할 수 없다는 것입니다.

OpenSSH와 pam_yubico.so를 사용하여 이를 달성하는 또 다른 방법이 있습니까?

또는 내부적으로 패턴을 구별할 수 있는 경우에는 password또는 각각을 제외하는 데 사용할 수 있습니다.keyboard-interactivepam.d/sshdpam_succeed_if.sopam_yubico.socommon-auth

관련 정보