나는 99%의 시간을 공개키 인증을 사용하여 내 컴퓨터 중 하나에서 개인 서버를 관리합니다. 그러나 다른 컴퓨터에서 액세스해야 하는 경우를 대비하여 비밀번호 인증을 활성화했습니다(루트가 아닌 내 사용자에 대해).
시스템 보안을 강화하기 위해 2FA를 활성화하고 싶지만 비밀번호 로그인에만 해당됩니다. 프롬프트 없이 로그인하기 위해 공개 키 인증을 사용하는 편리함에 정말 감사하며, 매번 2FA를 사용해야 하는 것보다는 2FA를 사용하지 않는 편이 낫습니다. (저는 기밀 프로젝트에 참여하고 있으며 일반적인 근무일에는 12개 이상의 2FA 인증을 받습니다.) ).
2FA 설정에 대해 제가 찾은 모든 가이드에서는 모든 인증 방법에서 2FA를 활성화한다고 가정합니다.
그렇다면 어떻게 2FA를 비밀번호 인증에만 활성화하고 공개키에는 활성화할 수 없나요?
그래도 문제가 해결되지 않으면 일반 사용자에 대한 비밀번호 인증을 비활성화하고 2FA가 활성화된 유지 관리 사용자를 설정하는 것이 해결 방법입니다. 그러나 나는 더 깔끔한 설정을 선호합니다.
답변1
이것은 추측이므로 확실히 약간의 조정이 필요하지만 설명하는 동작은 확실히 가능합니다.
다음을 사용하여 PAM 인증 구성을 설정할 수 있습니다.
auth sufficient pam_ssh_user_auth.so
auth required password-auth
auth required pam_2fa.so
구성 파일은 순차적으로 읽혀집니다. 첫 번째 줄에는 "Ssh 인증이 유효하면 종료에 성공한 것입니다."라고 표시됩니다. SSH 공개 키 인증이 활성화되어 있다고 가정하면 인증이 성공적으로 종료됩니다. 다음 두 줄은 아직 공개 키를 사용하지 않은 경우에만 실행됩니다. 적절한 비밀번호 인증과 2FA 인증만 포함하면 됩니다.