웹사이트 검색

이중 인증으로 SSH를 보호하는 방법


상태: 더 이상 사용되지 않음

이 문서는 더 이상 사용되지 않으며 더 이상 유지 관리되지 않습니다.

이유

이 문서는 보다 정확한 최신 콘텐츠를 복제합니다.

대신 보기

이 문서는 여전히 참조용으로 유용할 수 있지만 작동하지 않거나 모범 사례를 따르지 않을 수 있습니다.

대신 Ubuntu 16.04에서 SSH에 대한 Multi-Factor Authentication을 설정하는 방법을 참조하십시오.

소개

2단계 인증으로 SSH 서버를 보호하려면 Google Authenticator PAM 모듈을 사용할 수 있습니다.

연결할 때마다 스마트폰에서 코드를 입력해야 합니다.

주의: 일반 사용자에 대해 google-Authenticator를 활성화하지만 루트에 대해서는 활성화하지 않으면 더 이상 루트 사용자로 직접 로그인할 수 없습니다. 먼저 새 사용자로 로그인한 다음 su 명령을 사용하여 슈퍼 사용자로 전환하여 루트를 얻어야 합니다.

VPS에서 작업을 수행하기 전에 Google Authenticator 애플리케이션을 설치하세요. Android, iOS 및 BlackBerry에서 사용할 수 있습니다. 마켓을 사용하여 앱을 설치하거나 모바일 브라우저를 사용하여 m.google.com/authenticator로 이동합니다. 그런 다음 VPS에 연결하고 루트 사용자로 전환하십시오.

1단계 - 종속성 설치

sudo apt-get install libpam-google-authenticator

libqrencode3이 자동으로 설치되며 전화기의 카메라를 사용하여 콘솔에서 직접 qr 코드를 스캔할 수 있습니다.

2단계 - 구성 파일 편집

모듈을 사용하려면 두 개의 구성 파일을 편집해야 합니다.

nano /etc/pam.d/sshd

파일 맨 위에 다음 행을 추가하십시오.

auth required pam_google_authenticator.so

편집할 파일이 하나 더 있습니다.

nano /etc/ssh/sshd_config

다음 줄을 찾아 변경합니다.

ChallengeResponseAuthentication yes

3단계 - 사용자에 대한 2단계 인증 활성화

루트 사용자나 다른 사용자에 대해 google-authenticator를 활성화할 수 있습니다. 이중 인증을 사용해야 하는 사용자로 전환하고 다음을 입력합니다.

google-authenticator

몇 가지 질문에 답하라는 메시지가 표시됩니다. 예(y)로 처음 두 질문에 답하십시오.

Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/USERNAME/.google_authenticator" file (y/n) y

필요에 따라 다음 질문에 답할 수 있습니다.

Google Authenticator 앱을 사용하여 qr 코드를 스캔하거나 비밀 키와 인증 코드를 사용하여 계정을 추가할 수 있습니다. 비상 스크래치 코드를 인쇄하여 안전한 장소에 보관하는 것을 잊지 마십시오!

이제 루트로 다시 전환하고 SSH 서버를 다시 시작하십시오. 루트 사용자에 대해 2단계 인증을 추가한 경우 다음 단계를 건너뛸 수 있습니다.

su root 

마지막으로 SSH 서버를 다시 시작하십시오.

/etc/init.d/ssh restart

그게 다야! 이제 2단계 인증을 사용하는 SSH 서버가 있어야 합니다!