공개 키+토큰 또는 비밀번호+토큰을 사용하여 SSH 2FA를 설정하는 방법은 무엇입니까?

공개 키+토큰 또는 비밀번호+토큰을 사용하여 SSH 2FA를 설정하는 방법은 무엇입니까?

Ubuntu 18.04 서버에서 SSH에 대한 PAM 인증을 설정하려고 합니다(지침을 수정하여).이 가이드). 다음 두 가지 조합 중 하나로 서버에 로그인할 수 있도록 로그인을 설정하려고 합니다.

1) 공개키 + 토큰 2) 비밀번호 + 토큰

그러나 어떤 설정을 시도해도 작동하지 않습니다. 다음 두 파일을 편집 중입니다.

/etc/ssh/sshd_config
/etc/pam.d/sshd

내가 이해한 대로 다음 두 줄이 필요합니다 /etc/ssh/sshd_config.

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

그런 다음 다음 줄을 주석 처리합니다 /etc/pam.d/sshd.

#@include common-auth

하지만 이렇게 설정하면 흥미로운 상태가 발생합니다.

1) 공개 키 + 토큰을 사용하여 로그인을 시도하면 모든 것이 잘 작동합니다.

Authenticated with partial success.
Verification code:

2FA 토큰을 입력하고 들어갑니다.

2) 하지만 비밀번호+토큰을 시도하면 먼저 비밀번호를 묻는 메시지가 나타납니다.

[email protected]'s password:

하지만 올바른 SSH 비밀번호는확실히일하다. 이 프롬프트에서 작동하는 것은 2FA 토큰입니다(이유는 무엇입니까? 명시적으로 비밀번호를 묻습니다). 이 프롬프트를 통과한 후 프롬프트가 나타납니다.

Verification code:

또한 토큰이 필요합니다. 그래서 동일한 토큰을 연속으로 두 번 입력하면 성공적으로 서버에 로그인할 수 있습니다.

내가 뭘 잘못했나요? 내가 원하는 것을 어떻게 얻을 수 있나요? 로그를 제공해야 합니까? 내가 불합리한 일을 하려고 하는 걸까?

감사해요!

관련 정보