본문 바로가기
카테고리 없음

[Linux]Rocky Linux 에 ssh 접속 시 google authenticator 로 2단계 인증 로그인

by 주식회사 서버몬 2025. 5. 20.

안녕하세요. 주식회사 서버몬 입니다.

 

SSH 로그인, OTP 하나로 더 안전하게

서버 보안 강화를 위해 Google Authenticator 기반의 2단계 인증(OTP) 을 리눅스 서버에 적용해보았습니다.
이번 포스트에서는 설치 과정부터 실제 SSH 로그인까지 필요한 설정만 빠르게 정리합니다.

복잡한 설정 없이도 무료로 적용 가능하며, 스마트폰 앱 하나로 간편하게 OTP 인증을 구현할 수 있습니다.

 

 

테스트 버전은 RockyLinux 8.10 버전으로 진행했습니다.

 

Google Authenticator 지원 버전 입니다.

배포판                                                     지원 여부                 비고

Rocky Linux 8 / 9 ✅ 지원 EPEL 필수
RHEL 7 / 8 / 9 ✅ 지원 EPEL 저장소 또는 소스 설치
CentOS 7 / 8 (Stream) ✅ 지원 EPEL 필수
AlmaLinux 8 / 9 ✅ 지원 Rocky와 동일 기반
Oracle Linux 7 / 8 / 9 ✅ 지원 RHEL 호환
Debian 9~12 ✅ 지원 apt install libpam-google-authenticator
Ubuntu 16.04 이상 ✅ 지원 기본 저장소 또는 PPA
Fedora (33 이상) ✅ 지원 최신 패키지 포함
Arch Linux / Manjaro ✅ 지원 community 저장소
SUSE / openSUSE ⚠️ 제한적 소스 설치 필요
Amazon Linux 2 ✅ 지원 EPEL 설치 후 가능
Kali Linux / ParrotOS ✅ 지원 보안 테스트용 포함됨

 

 

 

 

1. epelrepo, GoogleAuthenticator 설치

rockylinux 역시 epel repo 설치가 필요 합니다.

epel-release -y

 

dnf install google-authenticator

 

 


2. Google Authenticator 설정

 

설치가 완료 되었다면 google-authenticator 최초 설정이 필요 합니다.

google-authenticator

 


여기서 **`y`를 입력하면**, 30초마다 새로 갱신되는 **시간 기반 OTP(Time-based One-Time Password)** 방식으로 설정됩니다.  
이는 Google Authenticator 앱과 같은 모바일 OTP 앱과 연동할 때 가장 일반적이며 권장되는 방식입니다.

👉 대부분의 경우에는 `y` 입력 후 진행하면 됩니다.

 

 

원래는 바로 QR 코드가 나와야 하는데 나오지 않습니다.

QO 코드가 나오게 하기 위해선 qrencode 를 설치해야 합니다.

dnf install qrencode -y

 

 

다시 google-authenticator 설정을 진행하게 되면 아래와 같이 QR 코드가 생성 됩니다.

스마트폰 앱 google-authenticator 다운로드 후 + 버튼을 누르고 QR 코드를 인식해주시면 google-authenticator 6자리 코드가 나옵니다.

해당 코드를 입력해주세요.

 

 

`y`를 입력하면 앞서 생성된 OTP 정보와 백업 코드가  
`/root/.google_authenticator` 파일에 저장됩니다.  
**SSH 로그인 시 이 파일을 기준으로 인증이 수행되므로 반드시 `y`를 선택해야 합니다.**

 

 

OTP 중복 사용 방지 설정


`y`를 입력하면 하나의 OTP 코드를 **한 번만 사용할 수 있도록 제한**합니다.  
이는 중간자 공격과 같은 위협을 줄이는 데 효과적이며, 보안을 강화하는 옵션입니다.  
보통은 `y`로 설정하는 것을 권장합니다.

 

 

OTP 시간 오차 보정 범위 확장


클라이언트(스마트폰)와 서버 간의 **시계 오차**로 인해 인증 실패가 발생하는 경우가 있습니다.  
이를 방지하기 위해, Google Authenticator는 기본적으로 **30초 전/후의 코드까지 허용**합니다.
`y`를 입력하면 이 범위를 **약 ±4분까지 확장**하여  
시간 동기화가 다소 맞지 않아도 인증이 정상적으로 통과되도록 합니다.

 

 

인증 시도 횟수 제한 (Rate Limiting)


이 옵션은 **30초 내 3회 이상 인증을 시도하는 것을 차단**하는 기능입니다.  
무차별 대입 공격으로부터 서버를 보호하며, 보안을 강화하는 데 효과적입니다.  
대부분의 경우 `y` 입력을 권장합니다.

 

 



3. sshd 설정

Google Authenticator 기반 2단계 인증을 SSH에 적용하려면,
**PAM 설정 파일(/etc/pam.d/sshd)**에 아래 항목을 추가해야 합니다:

vi /etc/pam.d/sshd

auth required pam_google_authenticator.so

 

 

SSH 설정 변경 설명 (/etc/ssh/sshd_config)
Google Authenticator를 통한 2단계 인증(Two-Factor Authentication)을 SSH 접속에 적용하려면, SSH 데몬이 PAM(Pluggable Authentication Modules)을 통해 인증 요청을 처리하도록 설정을 수정해야 합니다.

vi /etc/ssh/sshd_config

 

 

이 설정은 PAM을 통한 인증(예: OTP 인증)을 활성화합니다. 기본적으로 이 값은 주석 처리되어 있으므로, 주석을 제거하고 yes로 설정해야 Google Authenticator의 OTP 입력 창이 표시됩니다.

 

SSH가 PAM 모듈을 사용하게 하려면 UsePAM 설정이 yes로 되어 있어야 합니다. 이 설정이 비활성화되어 있으면 PAM 설정(/etc/pam.d/sshd)에서 설정한 2단계 인증이 동작하지 않습니다.

 

일반 사용자 패스워드를 이용한 로그인 방식을 유지하려면 이 옵션도 yes로 설정되어 있어야 합니다. 주석이 있다면 제거하고, 필요시 yes로 명시적으로 설정합니다.

 

설정 후 반드시 SSH 데몬을 재시작해야 적용됩니다:

 

설정은 완료 되었습니다.

 

이제 Xshell 을 이용해 접속 해보겠습니다.

 

1. 접속 시도 시 계정정보 입력

 

2. keyboard Interactive 를 이용한 패스워드 입력.

 

3. google-authenticator 앱을통해 6자리 코드 확인 후 입력.

 

접속 완료.

 

Google Authenticator는 PAM(Pluggable Authentication Modules)을 통해 SSH 접속 시에만 2단계 인증을 수행하도록 설정됩니다. 하지만 콘솔(예: 서버 앞 물리 터미널, 가상 머신의 직접 접근, Ctrl+Alt+F2 같은 TTY 로그인) 은 PAM 설정 중 /etc/pam.d/login 파일을 따릅니다.

이번 설정에서는 /etc/pam.d/sshd에만 적용되었기 때문에, 콘솔 로그인에는 영향을 미치지 않습니다.
즉, SSH 접속에는 OTP를 요구하지만, 콘솔에서는 기존 비밀번호만으로 로그인 가능합니다.

 

이상입니다.

 

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트

 

댓글