Google Authenticator를 SSH용 2FA로 설정했는데 잘 작동하지만 Android용 Authenticator 앱은 더 이상 오픈 소스가 아닙니다. 좋은 실제 오픈 소스 대안이 있습니까?
답변1
FreeOTP를 사용해 보세요. HOTP와 TOTP를 지원합니다.
답변2
Aegis authenticator
Android 버전은 무료이며 간단하며 유용한 기능(가져오기/내보내기, 생체 인식 잠금 해제, QR 코드 스캔 또는 수동 입력, 재료 디자인...)을 갖추고 있습니다.
f-froid에서 사용할 수 있습니다.https://f-droid.org/fr/packages/com.beemdevelopment.aegis/
답변3
인증. 클라우드 기반 다중 장치 동시 사용 애플리케이션은 LINUX를 포함한 대부분의 최신 플랫폼에서 사용할 수 있습니다. Google OTP 토큰과 호환됩니다.
나는 주로 로그인, su 및 lightdm을 위해 UBUNTU 시스템에서 이를 사용하고 있지만 PAM 모듈을 사용하면 다른 많은 프로토콜(공개 키가 있는 sshd 등)도 지원합니다.
구성 가이드는 다음과 같습니다.2FA존재하다우분투 제미와 팸:
GOOGLE AUTHENTICATOR는 구성된 사용자에게만 작동합니다(~/.google_authenticator가 존재함)(테스트 프로세스)
다음은 Google Authenticator를 사용하여 /etc/pam.d/login 파일에 대해 PAM을 구성하는 단계입니다. 사용자가 토큰 파일을 구성하지 않으면 보안 문자를 우회합니다.
다음 명령을 사용하여 PAM 및 Google Authenticator에 필요한 패키지를 설치하십시오.
sudo apt-get install libpam-google-authenticator
텍스트 편집기를 사용하여 /etc/pam.d/login 파일을 편집합니다.
sudo nano /etc/pam.d/login
파일 맨 아래에 다음 줄을 추가합니다.
auth required pam_google_authenticator.so nullok
파일을 저장하고 텍스트 편집기를 종료합니다.
그런 다음 /etc/pam.d/su 및 /etc/pam.d/lightdm 파일에 대해 2~3단계를 반복하여 구성을 완료할 수 있습니다.
SSH 구성의 경우 ChallengeResponseAuthentication yes 및 UsePAM yes 매개변수를 조정합니다. 필요한 추가 SSH 매개변수에 대한 자세한 내용을 보려면 다음을 방문하세요.
https://www.techrepublic.com/article/enable-ssh-2fa-ubuntu-server/
SSH, 2FA 및 공개 키 인증
원하는 결과가 공개 키 인증을 사용하여 ssh를 호출할 때 Google Authenticator로 2FA를 건너뛰는 것이라면 "auth require pam_google_authenticator.so nullok" 행을 /etc/pam.d/sshd 끝에 배치해야 합니다. 파일은 다음과 같습니다.
@include 일반 인증 계정에 pam_nologin.so 필요 @include 일반 계정 세션 [success=okignore=ignore module_unknown=ignore default=bad] pam_selinux.so 세션 종료에는 pam_loginuid.so 세션 필요 pam_key.so 강제 취소 @include common- Session 세션 선택적 pam_motd.so motd=/run/motd.dynamic 선택적 pam_motd.so noupdate 세션 선택적 pam_mail.soenv # [1] 세션 pam_limits.so 필요 세션에는 pam_env.so 필요 # [1] 세션 pam_env.so 필요 user_readenv=1 envfile =/etc/default/locale 세션[success=okignore=ignore module_unknown=ignoredefault=bad] pam_selinux.so open @include 일반 비밀번호 인증 필요 pam_google_authenticator.so nullok
공개 키 인증을 사용할 때 루트 사용자에 대해 2FA를 시행하려면 /etc/pam.d/sshd 파일을 수정하고 @include common-auth 줄 뒤에 auth 필수 pam_google_authenticator.so nullok 줄을 추가하면 됩니다. 이렇게 하면 공개 키를 사용하는 경우에도 Google Authenticator PAM 모듈이 항상 호출됩니다. /etc/pam.d/sshd는 다음과 같습니다:
@include common-auth auth에는 pam_google_authenticator.so가 필요합니다. nullok 계정에는 pam_nologin.so가 필요합니다. @include common-account 세션이 필요합니다. [success=okignore=ignore module_unknown=ignore default=bad] pam_selinux.so 세션을 닫으면 pam_loginuid.so 세션이 필요합니다(선택 사항 pam_key). 강제 철회 @include 공개 세션 세션 선택적 pam_motd.so motd=/run/motd.dynamic 선택적 pam_motd.so noupdate 세션 선택적 pam_mail.soenv # [1] 세션 필요 pam_limits.so 세션 필요 pam_env.so # [1] ] 세션 필요 pam_env.so user_readenv=1 envfile=/etc/default/locale 세션 [success=okignore=무시 module_unknown=ignoredefault=나쁜] pam_selinux.so open @include common-password
이렇게 변경한 후 sshd 서비스를 다시 시작하고 루트로 다시 로그인해 보십시오. 공개 키 인증을 사용하더라도 이제 Google OTP 인증 코드를 입력하라는 메시지가 표시됩니다.
이 사용 사례에서는 유효한 ~/.google_authenticator 파일이 있는 사용자에 대해서만 2FA를 활성화하므로 복잡한 PAM 설정을 조정할 필요가 없습니다.