google-authenticate on linux (ubuntu, centos)
1. google authenticator 패키지 설치
# ubuntu
```
sudo apt update -y
sudo apt install -y libpam-google-authenticator
```
# 시간 동기화
[root@localhost ~]# rdate time.bora.net
[root@localhost ~]# date
# centos
sudo yum install epel-release -y
sudo yum install google-authenticator -y
3. google authenticator 초기화 -> 이 과정에서 key와 QR 코드가 나오는 데, key는 따로 복사하여 보관하고, QR 코드를 이용하여 OTP앱에 등록한다.
# ubuntu, centos
```
google-authenticator
```
4. PAM(Pluggable Authentication Module) 정보 백업
# ubuntu, centos
```
sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
```
5. sshd 설정 정보 백업
# ubuntu, centos
```
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
```
##### 위의 4, 5번 작업 일괄 처리
sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.bak &&
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#####
6. /etc/pam.d/sshd 파일에 해당 내용 수정 or 추가
sudo vi /etc/pam.d/sshd
# google otp
auth required pam_google_authenticator.so
#
7. /etc/ssh/sshd_config 파일에 해당 내용 수정
sudo vi /etc/ssh/sshd_config
UsePAM yes
ChallengeResponseAuthentication yes
8. ssh 서비스 재시작
```
sudo systemctl restart sshd.service
```
위와 같이 설정하면, google auth를 사용하여 리눅스에 opt 로그인 기능을 추가할 수 있다.