Linux

google-authenticator ssh otp 적용[google otp]

Naan 2019. 9. 5. 15:43
320x100

 

구글 otp 프로그램 설치

centos 기준

 

# yum install pam-devel gcc autoconf automake libtool -y

# yum install epel-release -y

# yum install google-authenticator -y

 

# google-authenticator -t -d  --label webserver --issuer 장비ID -r 3 -R 30 -s ~/.ssh/google_authenticator
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/webserver%3Fsecret%3 

 

---------------------------------

바코드~

---------------------------------


Your new secret key is: X2LT52MQR
Your verification code is 
Your emergency scratch codes are:
  00148539
  00018772
  00008735
  22250152
  21137464

Do you want me to update your "/root/.ssh/google_authenticator" file? (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

안드로이드나 ISO 나 구글 otp 를 설치 를 하고 위에 바코드 스캔을 하면 된다.

 

PAM 적용

vi /etc/pam.d/sshd

#%PAM-1.0

auth       required     pam_sepermit.so

auth       required     pam_google_authenticator.so secret=${HOME}/.ssh/google_authenticator

추가

위 설정은 모든 사용자를 위한 설정 otp 설정을 안한사용자는 에러가 발생 된다.

 

##########

#%PAM-1.0

auth       required     pam_sepermit.so

auth       required     pam_google_authenticator.so nullok secret=${HOME}/.ssh/google_authenticator

설정한 사람만 적용 시키려면 nullok 를 추가 하자.

 

$HOME/.ssh/.google_authenticator 에 파일이 있는지 확인을 해서 적용이 된다.

 

SSH 에 적용 

# vi /etc/ssh/sshd_config

UsePAM yes
PasswordAuthentication no
ChallengeResponseAuthentication yes
PubkeyAuthentication yes

추가 나 # 삭제 해주자

# service sshd restart

 

 

문제 해결

시간 동기화가 안되 어 있으면 접속이 안될 수 있다.

ntpdate time.bora.net 해주지

 

로그로 확인

# cat /var/log/secure

# /home/계정/.google_authenticator

 

권한 문제

restorecon -R ~/.ssh 

 

 

320x100

'Linux' 카테고리의 다른 글

nomachine + otp  (0) 2019.09.11
FAILED with error NT_STATUS_WRONG_PASSWORD, authoritative=1  (0) 2019.09.10
mount: wrong fs type, bad option, bad superblock on /data  (0) 2019.09.03
cacti syslog plugin install  (0) 2019.08.29
sendmail from to  (0) 2019.08.06