본문 바로가기
인프라/리눅스

Centos7 도커를 이용한 teleport 설치

by IT맥구리나스 2022. 3. 5.

📗 들어가며..

https://www.youtube.com/watch?v=8a2-b9X7Xno 

당근페이 인프라 구축에서 서버 접근 툴로 teleport라는 툴을 알게 되었다.

직관적으로 작업자가 어떤 작업을 했는지 보여주는 기능을 보고 놀라움을 금치 못했다.

그동안 history를 통해 대략적으로 이렇게 작업했다는 걸 지레짐작했었는데 영상으로 직관적으로 보여주다니?!

그래서 한번 직접 가이드문서를 찾아가며 설치해봤다.

 

 

📗 컨테이너 이미지 다운로드 및 확인

teleport라는 컨테이너 이미지를 다운로드하고 컨테이너 이미지가 잘 받아졌는지 확인한다.

단순 teleport라고 쳤을때 다운이 안 받아져서 네임컬럼을 복사하여 다운로드하였다.

다운로드 후 이미지 검색도 하였다.

 

docker pull quay.io/gravitational/teleport:8
docker images

 

📗 selinux 설정 비활성화

selinux을 해주지 않으면 /etc/teleport/teleport.yaml이 생성되지 않는다.

vi /etc/sysconfig/selinux
SELINUX=disabled 설정 후 재부팅

바로 적용은 setenforce 0

📗 컨테이너이미지 설정 및 실행

쉘에서 아래 명령어를 순차적으로 실행한다.

총 3개의 구간이다.

# teleport 설정폴더 생성
mkdir -p ~/teleport/config ~/teleport/data

# 컨테이너 이미지내 teleport 설정을 /etc/teleport/teleport.yaml
docker run --hostname localhost --rm \
  --entrypoint=/bin/sh \
  -v ~/teleport/config:/etc/teleport \
  quay.io/gravitational/teleport:8 -c "teleport configure > /etc/teleport/teleport.yaml"
  
  # 컨테이너 이미지 실행하기
  docker run --hostname localhost --name teleport \
  -v ~/teleport/config:/etc/teleport \
  -v ~/teleport/data:/var/lib/teleport \
  -p 3023:3023 -p 3025:3025 -p 3080:3080 \
  quay.io/gravitational/teleport:8

 

이미지 실행 후 모습

위 명령 수행으로 teleport 컨테이너 이미지가 실행되면 프롬프트는 따로 종료되지 않는다.

 

도커 컨테이너가 실행되었는지 확인해본다.

docker ps

 

브라우저에 접속해본다.

https://vmware 내부아이피:3080 포트로 접속한다.

📗 관리자 계정 생성

첫 화면을 들어가자마자 회원 가입하라고 해서 단순히 회원 가입하고 로그인하는 줄 알았다.

하지만 그것이 아니었다!

첫구축시 웹에서 가입하는게 아닌듯?!

쉘에서 다음 명령어를 입력하여 계정을 생성했다.

docker exec 260e27a54d95 tctl users add magnuxx --roles=editor,access --logins=root

해쉬값은 docker ps로 조회하여 구동 중인 컨테이너 이미지 id를 넣은 것이다.

명령어를 치면 아래와 같이 별도의 접속 주소를 알려준다.

회원가입부터 만만치 않네..

 

큐알코드로 뭔가를 해야한다는 건 알겠는데 authenticator code를 어떻게 얻나 굉장히 오래 찾았다.. 그 결과

오른쪽의 QR 코드를 휴대폰의 구글 otp로 스캔하면 QR코드를 받을 수 있다..

스캔하여 얻은 주소를 크롬 브라우저 url창에 쓰거나 단순 카카오 qr코드 같은 스캔으로는 먹히지 않는다..

사파리 url에서는 코드가 먹히는듯했다. url창에 쓰니까 구글 otp로 리다이렉트 해줬음

회원가입부터 만만치 않다..

로그인한 창이다.

📗 session recordings 활성화

계정에 auditor권한이 없을경우 session recordings가 안보인다.

session recordings를 보려면 계정 권한에 auditor를 꼭 넣어줘야한다. 넣어주고 재로그인을 한다.

그러면 보일 것이다.

유튜브영상들에서는 구버전은 admin으로 통합되어 있었고 사이트 확인시 초반 구축 시 계정을 생성할 때 editor access권한만 넣어줘서 엄청 헤맸다.

 

session recordings를 통한 ssh 수행내역을 볼수 있다.

 

요즘은 yum install과 같이 의존성 패키지 찾아가면서 설치하는 것보다 docker를 올리고 컨테이너 이미지를 찾아서 구동하는 게 훨씬 쉽고 간편하다. 어떤 OS에서든 동일한 환경으로 올릴 수 있는 게 큰 장점이기도 하고..

 

반응형

댓글