Google 인증 프로그램으로 Linux 데스크탑에 로그인하는 방법

추가 보안을 위해 Linux PC에 로그인 할 때 암호뿐만 아니라 시간 기반 인증 토큰을 요구할 수 있습니다. 이 솔루션은 Google OTP 및 기타 TOTP 앱을 사용합니다.

이 프로세스는 표준 Unity Desktop 및 LightDM 로그인 관리자를 사용하여 Ubuntu 14.04에서 수행되었지만 원칙은 대부분의 Linux 배포 및 데스크탑에서 동일합니다.

이전에 SSH를 통한 원격 액세스에 Google OTP를 요구하는 방법을 보여주었습니다.이 과정은 비슷합니다. Google OTP 앱은 필요하지 않지만 Authy를 포함하여 TOTP 인증 방식을 구현하는 모든 호환 앱에서 작동합니다.

SSH 액세스를 위해 이것을 설정할 때, 먼저 적절한 PAM ( “Pluggable-Authentication Module”) 소프트웨어를 설치해야합니다. PAM은 여러 유형의 인증 방법을 Linux 시스템에 연결하고 요구할 수있는 시스템입니다.

우분투에서 다음 명령은 Google Authenticator PAM을 설치합니다. 터미널 창을 열고 다음 명령을 입력 한 다음 Enter 키를 누르고 암호를 입력하십시오. 시스템은 Linux 배포판의 소프트웨어 저장소에서 PAM을 다운로드하여 설치합니다.

sudo apt-get install libpam-google-authenticator

다른 Linux 배포판에서도이 패키지를 사용하여 쉽게 설치할 수 있습니다. Linux 배포판의 소프트웨어 저장소를 열고 검색을 수행하십시오. 최악의 경우, GitHub에서 PAM 모듈의 소스 코드를 찾아 직접 컴파일 할 수 있습니다.

이전에 지적했듯이이 솔루션은 Google의 서버에 “전화 걸기”에 의존하지 않습니다. 표준 TOTP 알고리즘을 구현하며 컴퓨터가 인터넷에 액세스 할 수없는 경우에도 사용할 수 있습니다.

이제 비밀 인증 키를 만들어 휴대 전화의 Google OTP (또는 유사한) 앱에 입력해야합니다. 먼저 리눅스 시스템에 사용자 계정으로 로그인하십시오. 터미널 창을 열고 google-authenticator 명령을 실행하십시오. y를 입력하고 여기에 나오는 지시 사항을 따르십시오. 이렇게하면 Google OTP 정보를 사용하여 현재 사용자 계정의 디렉토리에 특수 파일이 생성됩니다.

또한 스마트 폰의 Google OTP 또는 유사한 TOTP 앱에 두 가지 요소의 인증 코드를 제공하는 과정을 거치게됩니다. 시스템에서 스캔 할 수있는 QR 코드를 생성하거나 수동으로 입력 할 수 있습니다.

비상 사태 코드를 적어 두십시오. 휴대 전화를 분실 한 경우 로그인하여 사용할 수 있습니다.

컴퓨터를 사용하는 각 사용자 계정에 대해이 프로세스를 수행하십시오. 예를 들어, 컴퓨터를 사용하는 유일한 사람이라면 일반 사용자 계정에서 한 번만 할 수 있습니다. 컴퓨터를 사용하는 다른 사람이 있으면 자신의 계정에 로그인하여 자신의 계정에 적합한 2 단계 코드를 생성하여 로그인 할 수있게 할 수 있습니다.

여기에 약간의 맛이납니다. SSH 로그인에 이중 요소를 사용하는 방법을 설명 할 때 SSH 로그인에만 필요했습니다. 이렇게하면 인증 응용 프로그램을 분실했거나 잘못되었을 때 로컬로 로그인 할 수 있습니다.

로컬 로그인에 대해 2 단계 인증을 사용할 수 있으므로 여기에 잠재적 인 문제가 있습니다. 문제가 발생하면 로그인 할 수 없을 수도 있습니다.이를 염두에두고 그래픽 로그인에만 사용하도록 안내해 드리겠습니다. 필요한 경우 탈출구를 제공합니다.

텍스트 프롬프트에서 로그인 할 때 요구 사항을 건너 뛰고 그래픽 로그인에 대해서만 2 단계 인증을 사용할 수 있습니다. 즉, 가상 터미널로 쉽게 전환하여 로그인하고 변경 사항을 되돌릴 수 있으므로 문제가 발생할 경우 Gogole Authenciator가 필요하지 않습니다.

물론 이것은 인증 시스템에 구멍을 열지 만 시스템에 물리적으로 액세스 할 수있는 공격자는 이미 공격을 할 수 있습니다. 그래서 이중 인증은 SSH를 통한 원격 로그인에 특히 효과적입니다.

LightDM 로그인 관리자를 사용하는 Ubuntu에서이 작업을 수행하는 방법은 다음과 같습니다. 다음과 같은 명령으로 편집 할 LightDM 파일을 엽니 다.

sudo gedit /etc/pam.d/lightdm

Linux 배포 및 데스크톱에서 LightDM 로그인 관리자를 사용하는 경우에만 이러한 특정 단계가 작동합니다.

파일 끝에 다음 줄을 추가 한 다음 저장하십시오.

승인에는 pam_google_authenticator.so nullok이 필요합니다.

끝에있는 “nullok”비트는 시스템에 two-factor 인증을 설정하기 위해 google-authenticator 명령을 실행하지 않은 경우에도 사용자가 로그인 할 수있게합니다. 그들이 그것을 설정했다면, 그들은 시간 바에스 코드를 입력해야 할 것입니다 – 그렇지 않으면 그들은하지 않을 것입니다. ‘Nullok’를 제거하면 Google OTP 코드를 설정하지 않은 사용자 계정 만 그래픽으로 로그인 할 수 있습니다.

다음에 사용자가 그래픽으로 로그인하면 비밀번호를 물어보고 휴대 전화에 표시된 현재 인증 코드를 입력하라는 메시지가 표시됩니다. 사용자가 인증 코드를 입력하지 않으면 로그인 할 수 없습니다.

대부분의 일반적인 Linux 데스크탑 세션 관리자가 PAM을 사용하기 때문에 프로세스는 다른 Linux 배포판 및 데스크탑과 매우 유사해야합니다. 적절한 PAM 모듈을 활성화하기 위해 유사한 파일로 다른 파일을 편집하면됩니다.

우분투의 이전 버전은 암호를 입력 할 때까지 전체 홈 디렉토리를 암호화하는 쉬운 “홈 폴더 암호화”옵션을 제공했습니다. 특히 ecryptfs를 사용합니다. 그러나 PAM 소프트웨어는 기본적으로 홈 디렉토리에 저장된 Google Authenticator 파일에 의존하기 때문에 로그인하기 전에 암호화되지 않은 형식으로 시스템에 암호화되어 있는지 확인하지 않는 한 암호화가 파일을 읽는 것을 방해합니다. 자세한 내용은 README를 참조하십시오. 귀하의 여전히 사용되지 않는 홈 디렉토리 암호화 옵션을 사용하는 경우이 문제를 피하는 방법에 대한 정보.

우분투의 최신 버전은 대신 전체 디스크 암호화 기능을 제공합니다. 위의 옵션을 사용하면 정상적으로 작동합니다. 특별한 일을 할 필요가 없습니다.

그래픽 로그인에이 기능을 사용 했으므로 문제가 발생하면 사용하지 않도록 설정해야합니다. Ctrl + Alt + F2와 같은 키 조합을 눌러 가상 터미널에 액세스하고 사용자 이름과 암호로 로그인하십시오. 그런 다음 sudo nano /etc/pam.d/lightdm과 같은 명령을 사용하여 터미널 텍스트 편집기에서 편집 할 파일을 열 수 있습니다. Nano 가이드를 사용하여 회선을 삭제하고 파일을 저장하면 정상적으로 다시 로그인 할 수 있습니다.

또한 “Auth required pam_google_authenticator.so”행을 다른 PAM 구성 파일에 추가하여 다른 유형의 로그인 (잠재적으로 모든 시스템 로그인)에 대해서도 Google OTP를 요구할 수 있습니다. 당신이 이것을하면 조심하십시오. 그리고 “nullok”을 추가하여 설정 과정을 거치지 않은 사용자가 계속 로그인 할 수 있도록하십시오.

이 PAM 모듈을 사용하고 설정하는 방법에 대한 문서는 GitHub의 소프트웨어 README 파일에서 찾을 수 있습니다.

창문에 대해 이렇게 들었던 사람이 있습니까?

창문에 대해 이렇게 들었던 사람이 있습니까?

나는 방금 하나를 찾으려고했지만 나는 할 수 없었다. Windows 용 앱처럼 2 단계로 구성된 Windows 용 앱은 Windows 용 앱이 아닌 Windows 내부에있는 앱입니다.

Linux 용 PAM 모듈 인 Windows는 일부 시스템 파일을 수정하지 않고 동일한 기능을 추가 할 수 없습니다 (MS 이외의 다른 방법으로는 구현할 수 없지만 이미 데스크톱에 로그인하기위한 자체 Outlook 계정을 만들었습니다). OS X

인터넷 트래픽의 약 51 %는 사람이 아니며 검색 엔진 크롤러, 데이터 스크래퍼, 취약점 스캐너 및 기타 컴퓨터 관련 소스에서 생성되는 트래픽으로 구성됩니다.