비밀번호 문구가 포함 된 ssh, Google OTP로 대체 OTP를 도입 하고 ssh와 함께

Google OTP를 도입 하고 ssh와 함께 사용할 수 있는 기능을 통해 누군가 sshd_config 설정을 수행했는지 궁금합니다.

  • 먼저 열쇠를 기대
  • 이것이 실패하면 Google OTP를 사용한 인증으로 폴백합니다.

아이디어는 일반적으로 키와 원활하게 연결되고 일반적으로 덜 친숙한 환경에서는 두 가지 요소 메커니즘으로 연결됩니다.



답변

예, ssh개인 키를 사용할 수없는 경우 Google OTP + 비밀번호로 2 단계 인증으로 대체하여 공개 키 인증을 사용하여 서버에 설정할 수있는 설정 이 있습니다. 설정 단계는 다음과 같습니다.

Google OTP 설치

내 서버에서 Ubuntu Bionic Beaver (18.04.1)를 실행 중입니다. 다음을 사용하여 Google OTP를 설치할 수 있습니다 apt.

$ sudo apt install libpam-google-authenticator

sshd 구성

/etc/pam.d/sshd상단에 다음 줄을 열고 추가하십시오.

auth optional pam_google_authenticator.so

/etc/ssh/sshd_config한 줄을 열고 변경하십시오. 기존 라인은

ChallengeResponseAuthentication no

그리고 당신은 그것을 변경해야합니다

ChallengeResponseAuthentication yes

계정에 대한 Google OTP 구성

다음 단계는 계정에 Google OTP를 설정하는 것입니다. 간단히 다음을 실행하여 수행하십시오.

$ google-authenticator

root가 아닌 ssh 연결을 할 사용자로 이것을 실행하십시오 . 새 비밀 키와 비상 스크래치 코드를 기록해 두십시오. 마법사는 계정의 보안 설정을 구성하기 위해 몇 가지 질문을합니다.

모바일 앱 구성

iPhone 용 Google OTP 앱을 사용합니다. 이 응용 프로그램에는 google-authenticator서버 의 명령에서 얻은 비밀 키를 사용하여 새로운 시간 기반 토큰을 추가 할 수있는 [+] 버튼이 있습니다 . 설정하는 것은 사소한 일이었습니다. 다른 플랫폼에서 앱을 사용할 수는 없지만 프로세스는 간단합니다.

방아쇠 당기기

마지막으로 다시 시작해야합니다 sshd.

$ sudo /etc/init.d/ssh restart

이 시점에서 개인 키를 사용할 수있을 때 서버에 연결하려고하면 인증이 작동합니다. 개인 키를 사용할 수 없으면 인증 코드를 묻는 메시지가 표시되고 계정 암호가 표시됩니다.

빙고, 2 단계 인증.


답변