Cloud/AWS

Amazon Linux 2023 MFA Connect

ISFJ 개발자의 이야기 2025. 6. 12. 22:21

Google Authenticator를 이용해서 MFA 인증 시 Amazon Linux 2023 EC2서버에 접근 가능하도록 구축해보겠습니다.

 

우선 ssh 접근 관련 설정을 수정해줍니다.

sudo sed -i '40i\PermitRootLogin yes' /etc/ssh/sshd_config
sudo sed -i '41i\RSAAuthentication yes' /etc/ssh/sshd_config

 

sudo sed -i '8i\auth required pam_google_authenticator.so nullok' /etc/pam.d/sshd

 

sudo sed -i '10i\ChallengeResponseAuthentication yes' /etc/ssh/sshd_config.d/50-redhat.conf
sudo sed -i '22i\AuthenticationMethods publickey,keyboard-interactive' /etc/ssh/sshd_config.d/50-redhat.conf

 

다음으로 Google Authenticator를 설치해줍니다.

sudo dnf install google-authenticator -y

 

아래의 화면 Your new secret key 부분의 값을 폰에서 Google Authenticator 앱의 등록을 해줘야합니다.

  1. 사용된 인증 토큰이 시간 기반이어야 하는지 y/n
    1. google_authenticator 파일을 홈 디렉터리에 생성할 것인지 y/n
    2. 30초 마다 한번씩 나오는 비밀번호 한개로 여러번 로그인이 가능하게 할 것인지 y/n
      • y를 누르면 여러번 로그인 허용, n으로는 한 비밀번호당 한번씩만 로그인
    3. 시간 동기화를 진행하면서 발생하는 시간상 오차 및 왜곡을 방지하고자 하는 옵션 y/n
    4. 30초마다 생성되는 토큰에 3회 이상 인증에 실패하는 경우 일시적으로 로그인을 차단할지 y/n

 

아래의 명령어를 이용해서 표준 시간대를 서울로 설정합니다.

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

마지막으로 아래의 명령어를 통해서 EC2 서버의 비밀번호를 설정해줍니다.

sudo su
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl restart sshd
echo 'Skill53##' | passwd --stdin ec2-user

 

MFA 로그인 시도

아래와 같이 Google Authenticator에 뜨는 6자리 숫자를 올바르게 입력하면 접속되는 모습을 확인 할 수 있습니다.