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 로그인 기능을 추가할 수 있다.