Linux에 Teleport 설치
Teleport는 다양한 운영 체제, 플랫폼, Teleport 버전에 대한 DEB 및 RPM 패키지 저장소를 유지합니다. Teleport 에이전트는 항상 일행 설치 스크립트 또는 teleport-update 바이너리를 사용하여 Teleport를 설치해야 합니다.
Teleport는 다양한 운영 체제, 플랫폼, Teleport 버전에 대한 DEB 및 RPM 패키지 저장소를 유지합니다. DEB 또는 RPM 패키지에서 Teleport를 설치하는 서버에는 systemd가 설치되어 있어야 합니다. Teleport 바이너리가 포함된 TAR 아카이브를 다운로드할 수도 있습니다.
Teleport 에이전트는 항상 일행 설치 스크립트 또는 teleport-update 바이너리를 사용하여 Teleport를 설치해야 합니다. 그렇지 않으면 최신 버전을 유지하지 못하고 클러스터와 호환되지 않게 되어 결국 연결이 끊어집니다.
운영 체제 지원#
| 운영 체제 | teleport 데몬 |
tctl 관리 도구 |
tsh 및 Teleport Connect 사용자 클라이언트 [1] |
Web UI (브라우저) | tbot 데몬 |
|---|---|---|---|---|---|
| Linux 3.2+ (RHEL/CentOS 7+, Rocky Linux 8+, Amazon Linux 2+, Amazon Linux 2023+, Ubuntu 16.04+, Debian 9+, SLES 12 SP 5+, SLES 15 SP 5+) [2] | yes | yes | yes [3] | yes | yes |
[1] tsh는 커맨드 라인 클라이언트(CLI)이고 Teleport Connect는 그래픽 사용자 인터페이스(GUI) 데스크톱 클라이언트입니다. 사용법 및 설치에 대해서는 Teleport Connect 사용을 참조하세요.
[2] 향상된 세션 녹화는 Linux 커널 v5.8+이 필요합니다.
[3] Linux의 Teleport Connect는 Ubuntu 20.04+, Debian 10+, Fedora 37+에 있는 glibc 2.28+이 필요합니다.
For best results, Teleport clients (tsh, tctl, tbot) should be the same major version as the cluster they are connecting to. Teleport servers are compatible with clients that are on the same major version or one major version older. Teleport servers do not support clients that are on a newer major version. See our Upgrading guide for more information.
클러스터로 Teleport 설치#
이 단계는 Teleport Enterprise (셀프 호스팅) 및 Community Edition 버전에 해당합니다.
Teleport를 처음 시작하는 경우 Teleport Cloud 계정으로 시작하는 것을 권장합니다. 그러면 직접 배포해야 하는 Teleport 컴포넌트는 Teleport 에이전트뿐이며, 이는 다음 섹션에서 다룹니다. Teleport 클러스터를 셀프 호스팅하는 경우 Teleport Community Edition의 Linux 데모 또는 Teleport Enterprise 셀프 호스팅에 대한 자세한 정보를 위해 Teleport 셀프 호스팅 섹션을 참조하세요.
Teleport Enterprise Cloud는 사용자를 위해 프로비저닝 및 관리되므로 설치 단계가 없습니다. 직접 배포해야 하는 Teleport 컴포넌트는 Teleport 에이전트뿐입니다.
$ TELEPORT_EDITION="enterprise"
$ TELEPORT_VERSION="(=teleport.version=)"
그런 다음 Teleport를 설치할 서버에서 일반 설치 스크립트를 다운로드하고 실행합니다:
$ curl (=teleport.teleport_install_script_url=) | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
$ TELEPORT_EDITION="oss"
$ TELEPORT_VERSION="(=teleport.version=)"
그런 다음 Teleport를 설치할 서버에서 일반 설치 스크립트를 다운로드하고 실행합니다:
$ curl (=teleport.teleport_install_script_url=) | bash -s ${TELEPORT_VERSION?} ${TELEPORT_EDITION?}
클러스터 설치 확인#
다음 명령을 실행하여 설치를 확인합니다:
$ teleport version
Teleport 버전 번호를 표시하는 출력이 보여야 합니다.
클러스터 구성#
위의 Linux 서버에 Teleport를 설치하는 방법은 Teleport 구성 파일을 자동으로 생성하지 않습니다. 이를 위해 teleport configure CLI 명령을 사용하거나 수동으로 생성할 수 있습니다.
구성 파일 설정에 대한 도움말은 다음 가이드를 참조하세요:
- Teleport 구성 레퍼런스:
/etc/config.yaml파일을 생성하고 채우는 데 필요한 명령과 클러스터에 대한 추가 구성 옵션을 제공합니다. - 셀프 호스팅 데모 클러스터: Teleport Auth Service와 Proxy Service를 배포하는 경우 구성 파일 예시를 위해 이 가이드를 읽어보세요.
에이전트로 Teleport 설치#
에이전트로 Teleport를 설치하는 가장 쉬운 방법은 /web/discover의 Web UI를 통한 것으로, 등록할 리소스를 선택하고 Linux 호스트에서 실행할 "올인원" 설치 스크립트를 가져올 수 있습니다.
일행 설치 스크립트#
Web UI 외부에서 Teleport를 에이전트로 배포하는 Linux 서버에서 일행 클러스터 설치 스크립트를 실행할 수 있습니다. 이 스크립트는 클러스터에 가장 적합한 버전, 에디션, 설치 모드를 감지하고 사용합니다.
- 에 Teleport 클러스터 호스트명과 Web UI 포트를 할당합니다. 스키마(https://)는 포함하지 않고 클러스터 호스트명과 포트만 포함해야 합니다.
- 클러스터의 설치 스크립트를 실행합니다:
$ curl "https:///scripts/install.sh" | sudo bash
Terraform으로 에이전트 배포에서 에이전트 배포를 위한 예시 Terraform 모듈을 사용할 수도 있습니다.
에이전트 설치 확인#
다음 명령을 실행하여 에이전트 설치를 확인합니다:
$ teleport version
$ sudo systemctl status teleport
Teleport 버전과 서비스가 활성 상태로 실행 중임을 보여주는 상태가 표시되어야 합니다.
에이전트 구성#
Web UI에서 Teleport를 에이전트로 배포하는 것 외에 Linux 서버에 Teleport를 설치하는 방법은 Teleport 구성 파일을 자동으로 생성하지 않습니다. Teleport 서비스를 시작하기 전에 구성 파일을 생성해야 합니다.
구성 파일 설정 예시는 다음 가이드를 참조하세요:
- 리소스 등록: 인프라 리소스를 클러스터에 등록하기 위해 Teleport 에이전트를 설정하는 가이드. Teleport 구성 파일 설정 예시가 포함되어 있습니다.
- 셀프 호스팅 데모 클러스터: Teleport Auth Service 및 Proxy Service를 배포하는 경우 구성 파일 예시를 위해 이 가이드를 읽어보세요.
- Teleport 구성 레퍼런스: 모든 구성 필드에 대한 가이드.
기타 설치 방법#
일행 설치 스크립트를 사용하지 않는 경우 이 섹션을 사용합니다.
다음 방법 중 하나를 선택합니다:
- 패키지 저장소를 사용하여 설치
- 수동 설치 (TAR, DEB, RPM)
시스템의 패키지 관리자를 통해 Teleport를 설치하려면 이 방법을 사용합니다.
OS 릴리즈 변수 소싱#
-
실행:
$ . /etc/os-release && echo "$NAME $VERSION_ID"배포판이 지원되는지 확인#
-
배포판이 아래 표에 있는지 확인합니다.
배포판 버전 /etc/os-release의ID값Amazon Linux 2 및 2023 amznCentOS >= 7 centosDebian >= 9 debianRHEL >= 7 rhelRocky Linux >= 8 rockySLES >= 12 SP5, >= 15 SP5 slesUbuntu >= 16.04 ubuntu
Teleport는 현재 RHEL 10용 YUM 저장소를 제공하지 않습니다. RHEL 10에서 표준 YUM 설치 지침을 따르면 HTTP 404 오류가 발생합니다. RHEL 10에 Teleport를 설치하려면 초기 설정을 위한 **일행 설치 스크립트**와 설치를 유지하기 위한 **Managed Updates v2**를 사용합니다.
-
ID가 목록에 없으면 확인합니다:$ echo $ID_LIKE해당 값 중 하나가 표에 있으면 그 값을 대신 사용합니다.
필수 환경 변수 설정#
-
패키지 이름을 할당합니다.
Community Edition:
$ export TELEPORT_PKG=teleport # Community Edition또는 Enterprise:
$ export TELEPORT_PKG=teleport-ent # Enterprise릴리즈 채널을 할당합니다:
$ export TELEPORT_VERSION=v(=teleport.major_version=) $ export TELEPORT_CHANNEL=stable/${TELEPORT_VERSION?}
패키지 저장소를 사용하여 설치#
-
패키지 관리자에 대한 지침을 따릅니다:
$ sudo mkdir -p /etc/apt/keyrings $ sudo curl https://apt.releases.teleport.dev/gpg \ -o /etc/apt/keyrings/teleport-archive-keyring.asc $ echo "deb [signed-by=/etc/apt/keyrings/teleport-archive-keyring.asc] \ https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} \ ${TELEPORT_CHANNEL?}" \ | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null $ sudo apt-get update $ sudo apt-get install ${TELEPORT_PKG?}$ VERSION_ID=$(echo $VERSION_ID | grep -Eo "^[0-9]+") $ sudo yum install -y yum-utils $ sudo yum-config-manager --add-repo "$(rpm --eval "https://yum.releases.teleport.dev/$ID/$VERSION_ID/Teleport/%{_arch}/${TELEPORT_CHANNEL?}/teleport.repo")" $ sudo yum install ${TELEPORT_PKG?}# Ensure config-manager exists $ sudo dnf install -y dnf-plugins-core # Use RHEL repo path + major version $ REPO_ID="rhel" $ REPO_VERSION_ID="$(echo "$VERSION_ID" | grep -Eo '^[0-9]+')" # "8.10" -> "8" $ ARCH="$(rpm --eval '%{_arch}')" $ sudo dnf config-manager --add-repo \ "https://yum.releases.teleport.dev/${REPO_ID}/${REPO_VERSION_ID}/Teleport/${ARCH}/${TELEPORT_CHANNEL}/teleport.repo" # Install $ sudo dnf install -y "${TELEPORT_PKG?}" # e.g., teleport / teleport-ent참고: Teleport는 현재 SLES 15용 RPM 패키지를 제공합니다. 최신 SLES 릴리즈(예: SLES 16)에서는 sles/15 저장소 경로를 사용합니다.
$ export TELEPORT_VERSION=v18 $ export TELEPORT_CHANNEL="stable/${TELEPORT_VERSION}" $ export TELEPORT_PKG=teleport # or teleport-ent $ ARCH="$(rpm --eval '%{_arch}')" $ sudo zypper ar -f -t rpm-md \ "https://zypper.releases.teleport.dev/sles/15/Teleport/${ARCH}/${TELEPORT_CHANNEL}/" teleport # IMPORTANT: repo does not define `gpgkey=` URLs; import key explicitly $ sudo rpm --import https://zypper.releases.teleport.dev/gpg $ sudo zypper refresh teleport $ sudo zypper install -y "${TELEPORT_PKG?}"설치 확인#
-
실행:
$ teleport version
수동 설치 (TAR, DEB, RPM)#
릴리즈 아카이브에서 설치하거나 제한된 환경에서 운영하는 경우 이 방법을 사용합니다.
패키지 이름, 버전, 아키텍처 설정#
-
적절한 패키지를 할당합니다:
$ TELEPORT_PKG=teleport # Community Edition $ TELEPORT_PKG=teleport-ent # Enterprise -
시스템 아키텍처를 확인합니다:
$ uname -mCPU 아키텍처를 지원되는 빌드에 매핑합니다:
uname -m출력SYSTEM_ARCH값x86_64 amd64 aarch64 arm64 armv7l arm i686 386 -
버전 및 아키텍처 변수를 할당합니다:
$ TELEPORT_VERSION=(=teleport.version=) $ SYSTEM_ARCH=""
다운로드 및 설치#
체크섬 확인 호환성이 단계에서는 대부분의 최신 Linux 배포판에서 기본적으로 사용 가능한
sha256sum을 사용합니다.sha256sum을 사용할 수 없는 이전 시스템에서는shasum --check --algorithm 256을 대신 사용합니다.-
원하는 형식을 사용하여 다운로드 및 설치합니다:
$ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz.sha256 $ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz $ sha256sum --check < ${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz.sha256 # teleport-ent-v18.7.1-linux-amd64-bin.tar.gz: OK $ tar -xvf ${TELEPORT_PKG?}-v${TELEPORT_VERSION?}-linux-${SYSTEM_ARCH?}-bin.tar.gz $ cd ${TELEPORT_PKG?} $ sudo ./teleport-update enable --proxy example.teleport.sh # or sudo ./install for static installation$ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb.sha256 $ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb $ sha256sum --check ${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb.sha256 # teleport-ent_18.7.1_amd64.deb: OK $ sudo dpkg -i ${TELEPORT_PKG?}_${TELEPORT_VERSION?}_${SYSTEM_ARCH?}.deb # Managed updates are recommended for agents $ sudo teleport-update enable --proxy example.teleport.sh참고: RPM 설치에는
export SYSTEM_ARCH=x86_64를 사용합니다.$ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm.sha256 $ curl -O https://cdn.teleport.dev/${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm $ sha256sum --check ${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm.sha256 # teleport-ent-18.7.1-1.x86_64.rpm: OK $ sudo rpm -i ${TELEPORT_PKG?}-${TELEPORT_VERSION?}-1.${SYSTEM_ARCH?}.rpm $ sudo teleport-update enable --proxy example.teleport.sh설치 확인#
-
실행:
$ teleport version
브라우저에서#
Teleport Community Edition의 경우 최신 정보는 다운로드 페이지를 확인하세요.
클라우드 호스팅 Teleport Enterprise에서는 Web UI의 다운로드 페이지를 방문할 수 있습니다. 오른쪽 상단의 사용자 이름을 선택하고 메뉴에서 Downloads를 선택합니다.
Teleport Enterprise를 셀프 호스팅하는 고객은 전용 계정 대시보드에서 Enterprise 다운로드 및 라이선스 파일에 접근할 수 있습니다.
-
-
