운영체제 (LNX,WIN)
SSH 서비스 Google OTP 통한 사용자별 2단계 인증 적용
날으는물고기
2024. 5. 27. 00:33
SSH 서비스에 Google OTP (One-Time Password)를 통한 2단계 인증을 적용하는 과정을 아래와 같이 단계별로 설명드리겠습니다. 이 설명은 주로 Linux 시스템에 기반하고 있으며, Google Authenticator를 사용합니다.
1단계: 필요한 패키지 설치하기
- Google Authenticator PAM (Pluggable Authentication Module) 설치
대부분의 Linux 배포판에서는libpam-google-authenticator
패키지를 설치할 수 있습니다. CentOS나 Fedora와 같은 RHEL 기반 시스템에서는 다음 명령어를 사용합니다.
Ubuntu나 Debian 기반 시스템에서는 다음 명령어를 사용합니다.sudo yum install google-authenticator
이 패키지는 사용자별로 OTP를 설정하고 관리하는 데 필요한 PAM 모듈과 관련 도구를 포함하고 있습니다.sudo apt-get update sudo apt-get install libpam-google-authenticator
2단계: 사용자별로 Google Authenticator 설정
- 각 사용자 계정에 대해 Google Authenticator 실행
각 사용자는 자신의 계정에서 다음 명령을 실행하여 OTP 설정을 진행해야 합니다.
이 명령을 실행하면 여러 가지 질문이 나오며, 일반적으로 모든 질문에 'y'로 답변하는 것이 좋습니다. 실행 과정에서 아래와 같이 QR 코드가 생성되며, 이 QR 코드를 스마트폰의 Google Authenticator 앱으로 스캔해야 합니다.google-authenticator
3단계: SSH 구성 변경
- PAM 설정 수정
/etc/pam.d/sshd
파일을 열고 다음 라인을 파일의 상단에 추가합니다.
이 설정은 SSH 로그인 과정에서 Google Authenticator 모듈을 필수적으로 사용하도록 합니다.auth required pam_google_authenticator.so
- SSH Daemon 설정 수정
/etc/ssh/sshd_config
파일을 열고,ChallengeResponseAuthentication
과UsePAM
옵션을 찾아 다음과 같이 수정합니다.
이 설정은 SSH 서버가 PAM을 사용하고, 인증 시 challenge-response 방식을 사용하도록 설정합니다.ChallengeResponseAuthentication yes UsePAM yes
- SSH 서비스 재시작
설정을 적용하기 위해 SSH 서비스를 재시작합니다.sudo systemctl restart sshd
4단계: 로그인 테스트
- 변경된 설정으로 SSH 로그인을 시도하여 Google OTP가 요구되는지 확인합니다. 사용자 이름과 비밀번호를 입력한 후, Google Authenticator 앱에서 제공하는 OTP 코드를 입력해야 로그인이 완료됩니다.
이 과정을 통해 SSH에 Google OTP를 성공적으로 적용할 수 있으며, 이는 계정의 보안을 한층 강화하는 방법입니다. 설정 중 문제가 발생하는 경우, 설정 파일의 문법을 다시 확인하거나, 패키지 설치 상태를 점검해보는 것이 좋습니다.
728x90