Google Authenticator의 2 단계 인증을 사용하여 SSH를 보호하는 방법
사용하기 쉬운 이중 인증으로 SSH 서버를 보호하고 싶으십니까? Google은 Google Authenticator의 시간 기반 일회용 비밀번호 (TOTP) 시스템을 SSH 서버와 통합하는 데 필요한 소프트웨어를 제공합니다. 연결할 때 휴대 전화의 코드를 입력해야합니다..
Google OTP는 Google에 '집으로 전화하지 않습니다.'- 모든 작업은 SSH 서버와 휴대 전화에서 수행됩니다. 실제로 Google OTP는 완전히 오픈 소스이므로 직접 소스 코드를 살펴 볼 수도 있습니다..
Google OTP 설치
Google OTP로 다중 요소 인증을 구현하려면 오픈 소스 Google OTP PAM 모듈이 필요합니다. PAM은 "플러그 형 인증 모듈"의 약자로, 다양한 형태의 인증을 Linux 시스템에 쉽게 연결할 수있는 방법입니다.
우분투의 소프트웨어 저장소에는 Google Authenticator PAM 모듈 용 설치가 쉬운 패키지가 포함되어 있습니다. Linux 배포판에이 패키지가 포함되어 있지 않으면 Google 코드의 Google Authenticator 다운로드 페이지에서 다운로드하여 직접 컴파일해야합니다..
Ubuntu에 패키지를 설치하려면 다음 명령을 실행하십시오.
sudo apt-get install libpam-google-authenticator
(이것은 우리 시스템에 PAM 모듈을 설치하기 만합니다 - SSH 로그인을 위해 수동으로 활성화해야합니다.)
인증 키 만들기
원격으로 로그인 할 사용자로 로그인하고 Google 인증 자 해당 사용자의 비밀 키를 만드는 명령.
y를 입력하여 명령이 Google Authenticator 파일을 업데이트하도록 허용하십시오. 그런 다음 동일한 임시 보안 토큰의 사용을 제한하고 토큰을 사용할 수있는 시간 창을 늘리며 허용 된 액세스 시도를 제한하여 무차별 크래킹 시도를 방해 할 수있는 몇 가지 질문이 표시됩니다. 이러한 선택 모두는 사용하기 쉽도록 보안을 교환합니다..
Google OTP는 비밀 키와 여러 개의 '긴급 스크래치 코드'를 제공합니다. 긴급 스크래치 코드는 안전한 곳에 보관하십시오. 휴대 전화를 분실 한 경우 사용할 수 있습니다..
휴대 전화의 Google OTP 앱에 비밀 키를 입력합니다 (공식 앱은 Android, iOS 및 Blackberry에서 사용할 수 있습니다). 스캔 바코드 기능을 사용할 수도 있습니다. 명령 출력 위쪽에있는 URL로 이동하여 휴대 전화의 카메라로 QR 코드를 스캔 할 수 있습니다.
이제 휴대 전화에 지속적으로 변경되는 인증 코드가 생깁니다..
여러 사용자로 원격 로그인하려면 각 사용자에 대해이 명령을 실행하십시오. 각 사용자는 자신의 비밀 키와 고유 코드를 갖게됩니다..
Google OTP 활성화
다음으로 SSH 로그인 용 Google OTP를 요구해야합니다. 그렇게하려면 /etc/pam.d/sshd 파일을 시스템에 저장하십시오 (예 : sudo nano /etc/pam.d/sshd 명령) 파일에 다음 행을 추가하십시오.
승인하려면 pam_google_authenticator.so가 필요합니다.
다음으로 / etc / ssh / sshd_config 파일을 찾은 다음 ChallengeResponseAuthentication 행을 읽고 다음과 같이 변경하십시오.
ChallengeResponseAuthentication 예
( ChallengeResponseAuthentication 행이 아직 존재하지 않으면 위의 행을 파일에 추가하십시오.)
마지막으로 변경 사항이 적용되도록 SSH 서버를 다시 시작하십시오.
sudo service ssh restart
SSH를 통해 로그인을 시도 할 때마다 비밀번호와 Google OTP 코드를 입력하라는 메시지가 표시됩니다..