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