구글 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
'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 |