SSH 2차 인증 방법

Google Authenticator(Micorosoft Authenticator 또는 Authy)를 통한 SSH 2차 인증 설정

Google Authenticator를 통한 SSH 2차 인증을 설정

이 과정에서는 Google Authenticator PAM 모듈을 사용하여, TOTP 기반의 2차 인증을 추가합니다.

  1. Google Authenticator PAM 모듈 설치
    먼저, 서버에 Google Authenticator PAM 모듈을 설치합니다.
sudo apt-get update
sudo apt-get install libpam-google-authenticator
  1. Google Authenticator 설정
    2차 인증을 설정하려는 사용자 계정으로 로그인한 후, 다음 명령어를 실행합니다.
google-authenticator
  • QR 코드가 표시됩니다. Google Authenticator 앱에서 QR 코드를 스캔하거나, 수동으로 키를 입력하여 계정을 추가합니다.
  • 이후에는 “Do you want authentication tokens to be time-based (y/n)”와 같은 질문이 표시되면, **y**를 입력하여 시간 기반 토큰을 설정합니다.
  • 추가로, 백업 코드 생성, 토큰 사용 간격 및 제한 등의 질문에 따라 설정을 마무리합니다.
  1. SSH 구성 변경
    SSH가 2차 인증을 허용하도록 설정을 수정해야 합니다. SSH 데몬 구성 파일을 열어 수정합니다.
sudo nano /etc/ssh/sshd_config
  • 다음 설정을 변경하거나 추가합니다:
ChallengeResponseAuthentication yes
  • 키 인증과 함께 2차 인증을 사용할 경우, 아래와 같이 설정합니다:
PasswordAuthentication no
AuthenticationMethods publickey,keyboard-interactive

파일을 저장하고 닫습니다.

  1. PAM 구성 파일 수정
    SSH에서 Google Authenticator 모듈을 사용할 수 있도록 PAM 설정 파일을 편집합니다.
sudo nano /etc/pam.d/sshd
  • 파일의 끝에 다음 줄을 추가합니다:
auth required pam_google_authenticator.so

저장하고 닫습니다.

  1. SSH 서비스 재시작
    변경 사항을 적용하려면 SSH 서비스를 재시작합니다.
sudo systemctl restart sshd
  1. 2차 인증 사용
    이제 SSH로 접속할 때, Google Authenticator 앱에서 생성된 일회용 비밀번호(TOTP)를 추가로 입력하라는 메시지가 표시됩니다. 설정한 방식에 따라, 인증 키 후에 TOTP를 입력하여 로그인을 완료할 수 있습니다.

『출처 – ChatGPT』