Ubuntu 18.04 환경에서 진행되었음을 참고바랍니다.
OTP란
- OTP는 One Time Password의 약자로 전자 금융 거래같은 보안상 안전을 요구하는 작업을 할 때 일련의 알고리즘을
이용해 수시로 바뀌는 비밀번호를 무작위로 생성하는 기술이다.
우리는 SSH를 통해 서버에 접속하는 경우가 많은데 이 때 중요한 것이 보안이다.
이 OTP 서비스를 사용하면 일반적인 Password만으로 SSH에 연결되지 않고, OTP 번호까지 인증받아야지만
SSh에 접속할 수 있다.
이렇게 두 번의 인증방식을 거쳐 접근하는 것을 우리는 2factor 방식이라고 한다. 이 OTP 서비스 중 가장 유명하고, 편리한 것이 바로 Google OTP이다.
실습
1. 먼저 필요한 패키지 설치부터 진행한다. ssh와 otp 패키지이다.
apt-get install ssh -y
apt-get install libpam-google-authentication -y
2. ssh 접속 시 google_authentication pam 인증을 받도록 설정한다.
/etc/pam.d/sshd 맨 아래에 config를 추가해준다.
3. /etc/ssh/sshd_config
ChallengeResponseAuthentication 옵션은 기본값이 Yes이지만, 보안상의 이유로 RedHat 계열 리눅스에서 기본값이 No로 되어있는 경우가 많다. 이 옵션은 "키보드 대화 형" 인증 체계를 지원하는 옵션인데, 키보드 대화형 인증체계는 사용자에게 여러 가지 질문을 할 수 있다.
특정 형태의 챌린지 - 응답 인증 (Y/N)를 사용하려면 챌린지를 전송하고 응답을 확인하는 백엔드 (PAM)을 사용하도록
구성하여야 한다.
4. google-authenticator 명령어 실행 후 휴대폰 구글 otp 앱으로 QR코드를 찍어 계정등록
5. 이제 SSH 로그인 시 OTP를 입력하라고 나타날 것이다. OTP 숫자 입력 후, 비번 입력 시 접속 성공이다.
Site to Site VPN (PSK) (0) | 2020.01.21 |
---|---|
데비안 리눅스 서버 설치방법 (0) | 2019.12.27 |
댓글 영역