로그인을 위해 Linux에서 2단계 인증을 활성화하는 방법

Linux 시스템은 보안을 위해 핵심 작업에 비밀번호를 요구하는 것으로 알려져 있습니다. 이러한 이유로 많은 사용자가 Linux를 다른 운영 체제보다 더 안전하다고 여기는 경향이 있습니다. 강력한 비밀번호와 적절한 sudoer 정책은 중요한 보안 요소이지만, 때로는 사용자 보호에 충분하지 않을 수 있습니다. 그래서 보안 전문가들 사이에서는 Linux에서 2단계 인증을 사용하는 것이 일반적입니다.

본문에서는 Google Authenticator를 활용하여 Linux 시스템에 2단계 인증을 설정하는 방법을 자세히 알아보겠습니다.

설치 과정

Google OTP 기능은 PAM 플러그인을 통해 제공됩니다. 이 플러그인은 GDM 및 다른 데스크톱 관리자와 함께 사용할 수 있습니다. Linux PC에 설치하는 방법은 다음과 같습니다.

참고: 이 플러그인을 설정하기 전에 Google Play 스토어 또는 Apple App Store에서 Google Authenticator 앱을 다운로드해야 합니다. 이는 본 튜토리얼의 핵심 요소입니다.

Ubuntu

sudo apt install libpam-google-authenticator

Debian

sudo apt-get install libpam-google-authenticator

Arch Linux

Arch Linux는 기본적으로 PAM Google 인증 모듈을 지원하지 않습니다. 사용자는 AUR 패키지를 통해 모듈을 가져와 컴파일해야 합니다. 최신 PKGBUILD를 다운로드하거나 선호하는 AUR 도우미를 사용하세요.

Fedora

sudo dnf install google-authenticator

openSUSE

sudo zypper install google-authenticator-libpam

기타 Linux 배포판

본 가이드에서 사용된 libpam 플러그인과 Linux용 Google Authenticator 소스 코드는 Github에서 쉽게 찾을 수 있습니다. 비표준 Linux 배포판을 사용하는 경우 해당 페이지에서 제공하는 지침에 따라 소스 코드를 컴파일할 수 있습니다.

Linux에서 Google OTP 설정

PAM이 Google 인증 플러그인과 연동되도록 설정하려면 구성 파일을 편집해야 합니다. 터미널을 열고 다음 명령어를 입력하여 구성 파일을 수정하세요.

sudo nano /etc/pam.d/common-auth

common-auth 파일에는 Linux의 서비스 간 인증 설정에 대한 주석과 참고 사항이 많이 있습니다. 파일 내에서 주석을 무시하고 “여기에 패키지별 모듈(‘기본’ 블록)이 있습니다.”라는 부분까지 스크롤하세요. 해당 부분 아래에 커서를 위치시키고 Enter 키를 눌러 새 줄을 생성한 다음, 다음 내용을 입력하세요.

auth required pam_google_authenticator.so

입력을 완료한 후 Ctrl + O를 눌러 변경 사항을 저장하고 Ctrl + X를 눌러 nano 편집기를 종료합니다.

다시 터미널로 돌아와서 “google-authenticator”를 입력합니다. 그러면 몇 가지 질문에 답해야 합니다.

첫 번째 질문은 “인증 토큰을 시간 기반으로 하시겠습니까?”입니다. 키보드에서 y를 눌러 ‘예’를 선택하세요.

이 질문에 답하면 도구가 비상 코드와 함께 새로운 비밀 키를 출력합니다. 이 코드는 매우 중요하므로 안전하게 보관해야 합니다.

다음 세 가지 질문에는 “예”, 그 다음 두 질문에는 “아니오”로 답하세요.

마지막 질문은 속도 제한에 관한 것입니다. 이 설정을 활성화하면 Google OTP는 30초마다 3번의 시도/실패만 허용합니다. 보안상의 이유로 “예”를 선택하는 것이 좋지만, 속도 제한이 필요하지 않다면 “아니오”로 답해도 됩니다.

Google OTP 설정

이제 Linux 시스템 설정이 완료되었으므로, Google Authenticator 앱을 설정하여 2단계 인증을 활성화할 차례입니다. 앱을 열고 “제공된 키 입력” 옵션을 선택하세요. 그러면 “계정 세부 정보 입력” 화면이 나타납니다.

이 화면에서 인증기를 사용할 PC의 이름과 앞서 저장한 비밀 키를 입력해야 합니다. 두 정보를 모두 입력하면 Google OTP가 활성화됩니다.

로그인

Linux와 모바일 장치에 Google Authenticator 설정이 완료되었다면 모든 것이 제대로 작동해야 합니다. 로그인하려면 GDM(또는 LightDM 등)에서 사용자를 선택합니다. 사용자를 선택하면 시스템은 인증 코드를 요청합니다. 모바일 장치에서 Google OTP 앱을 실행하고, 로그인 관리자에 표시되는 코드를 입력하세요.

인증 코드가 성공적으로 입력되면 사용자의 비밀번호를 입력할 수 있습니다.

참고: Google Authenticator 설정은 로그인 관리자뿐만 아니라 루트 권한 획득, sudo 권한 사용 또는 비밀번호가 필요한 모든 작업에 적용됩니다.

결론

Linux 데스크톱에 2단계 인증을 활성화하면 추가 보안 계층을 확보할 수 있습니다. 이 기능은 시스템에 대한 무단 접근을 어렵게 만들고 전반적인 보안을 향상시킵니다.

2단계 인증은 때로는 번거로울 수 있지만, (예: 인증 앱 반응 속도가 느릴 때) 전반적으로 모든 Linux 데스크톱 관리자에게 유용한 기능입니다.