● Google Authenticator를 통한 SSH 2차 인증을 설정
이 과정에서는 Google Authenticator PAM 모듈을 사용하여, TOTP 기반의 2차 인증을 추가합니다.
- Google Authenticator PAM 모듈 설치
먼저, 서버에 Google Authenticator PAM 모듈을 설치합니다.
sudo apt-get update
sudo apt-get install libpam-google-authenticator
- Google Authenticator 설정
2차 인증을 설정하려는 사용자 계정으로 로그인한 후, 다음 명령어를 실행합니다.
google-authenticator
● 참고) Microsoft Authenticator 또는 Authy를 사용하실 경우에는 모든 진행은 동일하고 이 단계에서 QR 코드 스캔이나 수동으로 키 입력을 Microsoft Authenticator 또는 Authy를 사용해 진행하시면 됩니다.
- QR 코드가 표시됩니다. Google Authenticator 앱에서 QR 코드를 스캔하거나, 수동으로 키를 입력하여 계정을 추가합니다.
- 이후에는 “Do you want authentication tokens to be time-based (y/n)”와 같은 질문이 표시되면, **
y
**를 입력하여 시간 기반 토큰을 설정합니다. - 추가로, 백업 코드 생성, 토큰 사용 간격 및 제한 등의 질문에 따라 설정을 마무리합니다.
- SSH 구성 변경
SSH가 2차 인증을 허용하도록 설정을 수정해야 합니다. SSH 데몬 구성 파일을 열어 수정합니다.
sudo nano /etc/ssh/sshd_config
- 다음 설정을 변경하거나 추가합니다:
ChallengeResponseAuthentication yes
- 키 인증과 함께 2차 인증을 사용할 경우, 아래와 같이 설정합니다:
PasswordAuthentication no
AuthenticationMethods publickey,keyboard-interactive
파일을 저장하고 닫습니다.
- PAM 구성 파일 수정
SSH에서 Google Authenticator 모듈을 사용할 수 있도록 PAM 설정 파일을 편집합니다.
sudo nano /etc/pam.d/sshd
- 파일의 끝에 다음 줄을 추가합니다:
auth required pam_google_authenticator.so
저장하고 닫습니다.
- SSH 서비스 재시작
변경 사항을 적용하려면 SSH 서비스를 재시작합니다.
sudo systemctl restart sshd
- 2차 인증 사용
이제 SSH로 접속할 때, Google Authenticator 앱에서 생성된 일회용 비밀번호(TOTP)를 추가로 입력하라는 메시지가 표시됩니다. 설정한 방식에 따라, 인증 키 후에 TOTP를 입력하여 로그인을 완료할 수 있습니다.
『출처 – ChatGPT』