인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
리눅스에서 Machine ID 배포
이 페이지에서는 리눅스 호스트에 Machine ID를 배포하는 방법을 설명합니다.
tbot
이 Teleport 클러스터에 처음으로 인증하는 과정을
조인(join)이라고 합니다. 조인 방법(join method)은 봇이
자신의 신원을 증명하기 위한 특정 기술입니다.
신원 확인 형태가 없는 플랫폼에서는 사용할 수 있는 유일한
조인 방법은 token
입니다. token
조인 방법은 공유 비밀에
의존하는 유일한 조인 방법이기 때문에 특별합니다. 이와 관련된 위험을 완화하기 위해, token
조인 방법은 단일 사용으로
제한되며 동일한 토큰을 여러 번 사용할 수 없습니다.
전제 조건
-
실행 중인 Teleport 클러스터 버전 17.0.0-dev 이상. Teleport를 시작하려면 가입하여 무료 평가판을 이용하거나 데모 환경 설정 방법을 확인하십시오.
-
tctl
관리자 도구와tsh
클라이언트 도구.tctl
및tsh
다운로드 방법에 대한 지침은 설치를 방문하십시오.
- 연결이 가능한지 확인하기 위해
tsh login
으로 로그인한 다음, 현재 자격 증명을 사용하여tctl
명령어를 실행할 수 있는지 확인하십시오. 예를 들어:클러스터에 연결할 수 있고tsh login --proxy=teleport.example.com --user=email@example.comtctl status클러스터 teleport.example.com
버전 17.0.0-dev
CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678
tctl status
명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 후속tctl
명령어를 실행할 수 있습니다.
자신의 Teleport 클러스터를 호스팅하는 경우, Teleport Auth Service를 호스팅하는 컴퓨터에서 전체 권한으로tctl
명령어를 실행할 수도 있습니다. - Machine ID를 설치할 리눅스 호스트.
- 해당 호스트에서 Machine ID가 실행될 리눅스 사용자. 가이드에서는
teleport
를 사용할 예정입니다.
1/4단계. tbot
설치
이 단계는 리눅스 호스트에서 완료됩니다.
먼저, Machine ID를 사용할 VM에 tbot
을 설치해야 합니다.
플랫폼에 맞는 Teleport 패키지를 다운로드하세요:
Linux 서버에 Teleport 설치하기:
-
Teleport 에디션에 따라 edition를 다음 중 하나로 할당합니다:
에디션 값 Teleport Enterprise Cloud cloud
Teleport Enterprise (자가 호스팅) enterprise
Teleport Community Edition oss
-
설치할 Teleport 버전을 가져옵니다. 클러스터에서 자동 에이전트 업데이트가 활성화된 경우, 최신 Teleport 버전을 쿼리하여 업데이트된 내용과의 호환성을 확인합니다:
TELEPORT_DOMAIN=example.teleport.comTELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/automaticupgrades/channel/default/version | sed 's/v//')"그렇지 않으면, Teleport 클러스터의 버전을 가져옵니다:
TELEPORT_DOMAIN=example.teleport.comTELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/ping | jq -r '.server_version')" -
Linux 서버에 Teleport를 설치합니다:
curl https://cdn.teleport.dev/install-v15.4.11.sh | bash -s ${TELEPORT_VERSION} edition설치 스크립트는 Linux 서버에서 패키지 관리자를 감지하고 이를 사용하여 Teleport 바이너리를 설치합니다. 설치를 사용자 정의하려면 설치 가이드에서 Teleport 패키지 리포지토리에 대해 알아보세요.
2/4단계. 봇 사용자 생성
이 단계는 로컬 머신에서 완료됩니다.
봇을 생성합니다:
tctl bots add example
tctl bots add
의 결과에 조인 토큰이 포함되며, 이 값을 기록해두어야 tbot
구성 시 필요합니다.
3/4단계. tbot
구성
이 단계는 리눅스 호스트에서 완료됩니다.
/etc/tbot.yaml
을 생성합니다:
version: v2
proxy_server: example.teleport.sh:443
onboarding:
join_method: token
token: abcd123-insecure-do-not-use-this
storage:
type: directory
path: /var/lib/teleport/bot
# outputs는 접근 가이드 완료 시 채워집니다.
outputs: []
다음 부분을 변경하세요:
example.teleport.sh:443
을 당신의 Teleport Proxy 또는 Auth Server의 주소로 변경합니다. Teleport Proxy의 주소 사용을 권장합니다.abcd123-insecure-do-not-use-this
을 이전 단계에서tctl bots add
로 반환된 토큰으로 변경합니다.
tbot
이 처음 실행될 때 이 토큰은 인증을 위해 봇이 사용하는 인증서로
교환됩니다. 이 시점에서 토큰은 무효화됩니다. 첫 실행이 완료된 후에는 구성
파일에서 토큰을 제거할 수 있지만, 그렇게 해도 실질적인 보안 이점은 없습니다.
저장소 디렉토리 준비
token
조인 방법을 사용할 때, tbot
은 재시작 간에 자신의
상태를 지속할 수 있어야 합니다. 이 상태를 지속하기 위해 사용되는
대상은 봇의 "저장소 대상"으로 알려져 있습니다. 이 가이드에서는
/var/lib/teleport/bot
디렉토리를 사용합니다.
이 디렉토리는 봇의 민감한 자격 증명을 저장할 것이기 때문에
보호하는 것이 중요합니다. 이를 위해 tbot
이 실행될 리눅스 사용자에게만
접근할 수 있도록 디렉토리를 구성합니다.
다음 명령을 실행하고, teleport
를 tbot
을 실행할 리눅스 사용자로 대체하세요:
봇 디렉토리 생성 및 teleport 사용자에게 소유권 부여
sudo mkdir -p /var/lib/teleport/botsudo chown teleport:teleport /var/lib/teleport/bot
systemd 서비스 만들기
기본적으로 tbot
은 데몬 모드로 실행됩니다. 그러나 이를 위해서는 Linux 호스트의 서비스 관리자를 통해 서비스를 구성해야 합니다. 서비스 관리자는 부팅 시 tbot
을 시작하고 실패할 경우 다시 시작하도록 보장합니다. 이 가이드에서는 systemd를 시연하지만, tbot
은 모든 일반적인 대안과 호환되어야 합니다.
tbot install systemd
를 사용하여 systemd 서비스 파일을 생성합니다:
tbot install systemd \ --write \ --config /etc/tbot.yaml \ --user teleport \ --group teleport \ --anonymous-telemetry
다음 항목을 교체해야 합니다:
teleport
는tbot
을 실행할 Linux 사용자 이름으로 바꿉니다./etc/tbot.yaml
은 생성한 구성 파일의 경로로 바꿉니다.
--write
를 생략하면 시스템 서비스 파일이 콘솔에 출력되며 디스크에 작성되지 않습니다.
--anonymous-telemetry
는 익명 사용 통계를 제출하는 기능을 활성화합니다. 이를 통해 tbot
의 미래 개발에 도움을 줄 수 있습니다. 이를 비활성화하려면 이 파라미터를 생략하면 됩니다.
다음으로, 서비스가 부팅 시 시작되도록 활성화하고 서비스를 시작합니다:
sudo systemctl daemon-reloadsudo systemctl enable tbotsudo systemctl start tbot
서비스가 성공적으로 시작되었는지 확인합니다:
sudo systemctl status tbot
4/4단계. 출력 구성
tbot
의 기본 구성을 준비했습니다. 이 시점에서 tbot
은 Teleport 클러스터에 자신을 식별하고 자신의 자격 증명을 갱신하지만, 다른 애플리케이션에서 사용할 자격 증명을 출력하지 않습니다.
당신의 접근 요구를 충족하는 출력을 구성하려면 접근 가이드 중 하나를 따르십시오.
다음 단계
- 귀하의 환경에 대한
tbot
구성을 마치려면 액세스 가이드를 따르세요. - 모든 사용 가능한 구성 옵션을 탐색하려면 구성 참조를 읽어보세요.
TELEPORT_ANONYMOUS_TELEMETRY
에 대한 더 많은 정보를 참조하세요.