Linux

Linux SSH Pem 파일, Google OTP를 이용한 Two Factor 인증

DevelopC 2017. 6. 30. 22:15
728x90

Linux SSH Pem 파일, Google OTP를 이용한 Two Factor 인증

아래의 가이드는 SSH의 비밀번호 대신 인증키와  Google OTP 코드를 가지고 SSH에 로그인하는 방법을 가이드합니다.
 
1. google otp 패키지 설치
$ sudo apt-get install libpam-google-authenticator

 

2. 서버측에서 아래의 명령어를 수행해주세요.
$ ssh-keygen -t rsa -b 2048 -v
$ openssl rsa -in ~/.ssh/id_rsa -outform pem > ~/.ssh/pk_rsa.pem
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

3. 그리고 생성된 키 파일(~/.ssh/pk_rsa.pem)을 로컬에 저장합니다. 키 파일을 로컬에 저장한 후 서버에 해당 파일은 삭제하셔도 됩니다.

$ rm -rf ~/.ssh/id_rsa
$ rm -rf ~/.ssh/id_rsa.pub
$ rm -rf /path/to/pk_rsa.pem

 

4. ssh 설정 변경, /etc/pam.d/sshd 해당파일을 vi로 열고 아래의 설명처럼 설정을 수정하셔야 합니다.

# 맨 상단의 common-auth를 주석처리하고 아래의 설정을 추가합니다.

# @include common-auth
auth required pam_google_authenticator.so

 

5. ssh 설정 변경, /etc/ssh/sshd_config 해당파일을 vi열고 아래의 설명처럼 설정을 수정하셔야 합니다.

ChallengeResponseAuthentication yes

UsePAM yes

AuthenticationMethods publickey,keyboard-interactive

PasswordAuthentication no

 

6. 구글 OTP코드를 생성하기 위해서 사용자 계정으로 로그인 한 후 OTP코드를 생성합니다.

# 사용자 계정으로 로그인
$ su $USERNAME

# 아래의 명령어에서 물어보는 질문에는 모두 yes 처리합니다.
# 사용자 휴대폰에 Google OTP 앱 설치 후 QR코드 스캔을 합니다.
$ google-authenticator

 

7. SSH 서비스 재시작

$ sudo /etc/init.d/ssh restart

 

728x90

'Linux' 카테고리의 다른 글

Linux - chpasswd  (0) 2022.09.29
SCP 대역폭 제한 복사  (0) 2019.07.03
Linux 디렉토리 구조 및 기본명렁어 설명  (0) 2017.09.25
Linux CPU/Memory dynamic add  (0) 2017.09.25