답변:
참고 : 사용자에 대해 2 단계 인증을 활성화하고 루트에 대해 동일하게 설정하지 않으면 루트로 직접 로그인 할 수 없습니다. 그러한 경우에 해결 방법은 우리가 설정 한 다른 sudo 사용자를 사용한 다음 sudo su -
루트 사용자로 전환하는 것입니다.
아래 단계를 사용하여 설정하십시오.
PAM 인증의 애드온으로 사용할 Google 인증자를 설치하려면 아래 제공된 패키지를 설치하십시오.
sudo apt-get install libpam-google-authenticator
이제이 /etc/pam.d/sshd
파일을 수정 하고 아래와 같이 Google OTP를 추가하십시오.
*sudo vim /etc/pam.d/sshd
이 파일 상단에 아래를 입력하십시오.
auth required pam_google_authenticator.so
여기서 /etc/ssh/sshd_config
ssh가 Google OTP를 사용하도록 ssh가 2 단계 인증을 사용하도록 변경해야합니다.
vim /etc/ssh/sshd_config
이 파일 ChallengeResponseAuthentication
에서 아래와 같이 보이도록 주석을 해제하고 /하거나 주석을 제거해야합니다 (짧게 yes : P로 설정).
ChallengeResponseAuthentication yes
추가 또는 GUI 2 단계 인증은이 단계를 건너 뛰고 4 단계로 이동 하십시오. GUI 로그인에 사용하려면 /etc/pam.d/common-auth
다음을 편집하십시오 .
sudo vim /etc/pam.d/common-auth
이제 auth required pam_google_authenticator.so
줄 위에 이것을 추가 auth [success=1 default=ignore] pam_unix.so nullok_secure
하고 파일을 저장하십시오.
이제 설정하려는 계정으로 변경하십시오.
( 참고 : 루트 계정을 제외하고 시스템에서 최소 두 개의 슈퍼 사용자 계정을 만들고 적어도 하나는 루트 계정이 아닌 계정으로 구성하는 것이 좋습니다.)
sudo su - testuser1
이제 아래 명령을 사용하여이를위한 2 단계 인증을 설정합니다 testuser1
.
google-authenticator
이 명령을 실행하면 아래 질문이 표시됩니다. (권장 답변은 예)
인증 토큰을 시간 기반 (y / n)으로 설정 하시겠습니까?
그런 다음 QR 코드와 응급 스크래치 코드 및 기타 세부 정보가 표시됩니다. 주어진 이미지는 아래 그림과 같습니다.
이제 Android / Apple / Blackberry 전화를 사용 하여 각 마켓 플레이스 (예 : Google Play 스토어) 에서 Google OTP 응용 프로그램 을 다운로드하여 설치해야합니다 . 로그인 코드가 생성됩니다.
아래는 응용 프로그램 안드로이드 폰에서 가져온 응용 프로그램 아이콘 및 응용 프로그램의 스크린 샷입니다.
전화기에서 애플리케이션을 시작하고 QR 코드를 스캔하거나 시스템의 QR 코드 아래에 제공된 비밀 키 및 확인 코드 를 사용하십시오. 위의 첫 번째 스크린 샷에서도 볼 수 있습니다.
이 모든 작업이 완료되면 비상 스크래치 코드 를 메모 하고 안전한 장소에 저장 하는 것이 매우 중요 합니다. 코드는 어쨌든 잠긴 경우에 도움이 될 수있는 코드이기 때문입니다.
이 시점에서 화면 하단에서 아래 질문을하는 부분을 살펴 봐야합니다. (권장 답변은 예) :
"/home/testuser1/.google_authenticator"파일을 업데이트 하시겠습니까 (y / n) y
다시 한 번 더 질문하고 아래 질문에 대한 권장 답변도 예입니다.
동일한 인증 토큰을 여러 번 사용할 수 없도록 하시겠습니까? 이렇게하면 30 초마다 한 번만 로그인 할 수 있지만 중간자 공격 (y / n)을 알아 차 리거나 예방할 가능성이 높아집니다.
다음 질문은 다음과 같으며 권장 답변은 아니오입니다.
기본적으로 토큰은 30 초 동안 유효하며 클라이언트와 서버 간의 시간 차이를 보상하기 위해 현재 시간 전후에 추가 토큰을 허용합니다. 시간 동기화에 문제가 있으면 창을 기본 크기 인 1:30 분에서 약 4 분으로 늘릴 수 있습니다. 그렇게 하시겠습니까 (y / n) n
마지막 질문은 다음과 같으며 권장 답변은 예입니다.
로그인하는 컴퓨터가 무차별 로그인 시도에 대해 강화되지 않은 경우 인증 모듈에 대해 속도 제한을 활성화 할 수 있습니다. 기본적으로 공격자는 30 초마다 3 회 이상의 로그인 시도로 제한됩니다. 속도 제한 (y / n) y를 사용 하시겠습니까?
이제이 계정에서 exit를 전환하여 루트 계정으로 돌아갑니다.
exit
이제 ssh 서비스를 다시 시작하십시오.
service ssh restart
이제 설정 한 사용자에 대해 ssh 세션을 시작하면 먼저 모바일에서 입력 할 수있는 인증 코드를 요청한 다음 사용자 비밀번호를 묻습니다.
이것이 2 단계 인증을 설정하는 데 필요한 전부입니다. 필요한 경우 답변을 자유롭게 개선하고 언어가 좋지 않은 것에 대해 실례합니다.
auth optional
대신에 사용 하는 경우 머신에 대한 액세스를 느슨하게하지 않는 것이 더 안전합니다 auth required
. 그렇지 않으면 세션이 중단되고 프로세스가 완료 되지 않으면 더 이상 로그인 할 수 없습니다 .