Teleport 제거
Teleport v18.9이 가이드는 바이너리, 설정, 데이터를 포함하여 Teleport를 완전히 제거하는 방법을 설명합니다. 단일 호스트에서 Teleport 설치는 다음 구성 요소로 이루어지며, Teleport를 제거하려면 이들을 모두 제거해야 합니다:
이 가이드는 바이너리, 설정, 데이터를 포함하여 Teleport를 완전히 제거하는 방법을 설명합니다.
작동 방식#
단일 호스트에서 Teleport 설치는 다음 구성 요소로 이루어지며, Teleport를 제거하려면 이들을 모두 제거해야 합니다:
- 시스템 시작 시 Teleport를 실행하는 데몬 설정
- Teleport 바이너리
- Teleport 데이터 디렉터리 및 설정 파일
Teleport를 제거하는 작업은 Teleport 클러스터를 해체하는 작업과는 별개이며, 클러스터 해체는 Teleport Auth 서비스, 프록시 서비스 및 기타 Teleport 클러스터 구성 요소를 배포한 방식에 따라 달라집니다.
사전 요구사항#
- Teleport가 설치된 시스템.
이 지침은 컨테이너화되지 않은 Teleport 설치에만 적용됩니다.
Kubernetes에서 Teleport를 실행 중이라면 대신 Helm 차트 릴리스를 제거해야 합니다:
# 예시: 'teleport' 네임스페이스에서 'teleport-kube-agent'라는 Helm 릴리스를 제거
$ helm uninstall --namespace teleport teleport-kube-agent
Docker에서 Teleport를 실행 중이라면 Teleport Docker 컨테이너를 중지해야 합니다:
# 예시: 'teleport'라는 이름의 Docker 컨테이너 중지
$ docker stop teleport
1/3단계. 실행 중인 Teleport 프로세스 중지#
systemd에 Teleport 프로세스를 중지하도록 지시하고, 자동 시작되지 않도록 비활성화합니다:
$ sudo systemctl stop teleport
$ sudo systemctl disable teleport
이 systemd 명령어가 작동하지 않으면, 대신 실행 중인 모든 Teleport 프로세스를 강제 종료(kill)할 수 있습니다:
$ sudo killall teleport
launchd에 Teleport 프로세스를 중지하도록 지시하고, 자동 시작되지 않도록 비활성화합니다:
$ sudo launchctl unload -w /Library/LaunchDaemons/com.goteleport.teleport.plist
$ sudo rm -f /Library/LaunchDaemons/com.goteleport.teleport.plist
이 명령어가 작동하지 않으면, 대신 실행 중인 모든 Teleport 프로세스를 강제 종료(kill)할 수 있습니다:
$ sudo killall teleport
Windows 머신에서는 현재 장기 실행되는 Teleport 프로세스가 없습니다.
2/3단계. Teleport 바이너리 제거#
사용 중인 운영체제에 맞는 단계를 따라 Teleport 바이너리를 제거하세요.
Linux#
먼저, Teleport 자동 업데이트 도구(teleport-update)와 이 도구가 설치했을 수 있는
Teleport 버전을 제거합니다:
teleport-update uninstall
그다음, 사용 중인 Linux 배포판에 맞는 지침을 따르세요:
APT를 사용하여 Teleport 바이너리를 제거합니다:
$ sudo apt-get -y remove teleport-ent
Teleport Community Edition의 경우 다음 명령어를 사용하세요:
$ sudo apt-get -y remove teleport
Teleport APT 리포지터리를 제거합니다:
$ sudo rm -f /etc/apt/sources.list.d/teleport.list
위 명령어가 작동하지 않는다면 독립형 DEB 패키지로 Teleport를 설치했을 수 있습니다. 다음 명령어로 제거하세요:
# Teleport Community Edition의 경우 "teleport-ent" 대신 "teleport"를 사용
$ sudo dpkg -r teleport-ent
YUM을 사용하여 Teleport 바이너리를 제거합니다:
# Teleport Community Edition의 경우 패키지 이름을 "teleport"로 변경
$ sudo yum -y remove teleport-ent
# 선택 사항: 최신 배포판에서는 DNF를 사용
# $ sudo dnf -y remove teleport-ent
Teleport YUM 리포지터리를 제거합니다:
$ sudo rm -f /etc/yum.repos.d/teleport.repo
위 명령어가 작동하지 않는다면 독립형 RPM 패키지로 Teleport를 설치했을 수 있습니다. 다음 명령어로 제거하세요:
# Teleport Community Edition의 경우 "teleport"를 사용
$ sudo rpm -e teleport-ent
zypper를 사용하여 Teleport 바이너리를 제거합니다:
# Teleport Community Edition의 경우 패키지 이름을 "teleport"로 변경
$ sudo zypper -n remove teleport-ent
Teleport zypper 리포지터리를 제거합니다:
$ sudo zypper removerepo teleport
이는 Teleport 바이너리의 기본 경로입니다. 시스템에서 이 경로를 기본값에서 변경했다면 여기에 해당 경로를 대신 사용하세요.
dirname $(which teleport) 명령어를 사용하면 자동으로 이 경로를 확인할 수 있습니다.
그다음, 머신에서 Teleport 바이너리를 제거합니다:
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update
macOS#
이는 Teleport 바이너리의 기본 경로입니다. 시스템에서 이 경로를 기본값에서 변경했다면 여기에 해당 경로를 대신 사용하세요.
dirname $(which teleport) 명령어를 사용하면 자동으로 이 경로를 확인할 수 있습니다.
머신에서 Teleport 바이너리와 Teleport 소프트웨어에 대한 링크를 제거합니다:
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update
다음 경우에는 /Applications 폴더에 Teleport 소프트웨어가 있을 수 있습니다:
- v17 이상용으로
tsh.app과tctl.app이 포함된 macOS 타르볼에서 설치한 경우 - v16 이하 버전용 macOS
tsh클라이언트 전용 패키지를 설치한 경우 - macOS용 Teleport Connect를 설치한 경우
다음 명령어로 이들을 제거할 수 있습니다:
$ sudo rm -rf /Applications/tsh.app
$ sudo rm -rf /Applications/tctl.app
$ sudo rm -rf /Applications/Teleport\ Connect.app
Windows#
머신에서 tsh.exe, tctl.exe, tbot.exe 바이너리를 제거합니다:
$ del C:\Path\To\tsh.exe
$ del C:\Path\To\tctl.exe
$ del C:\Path\To\tbot.exe
제어판의 "앱 및 기능" 섹션에서 Teleport Connect를 제거할 수 있습니다.
참고로, Teleport Connect 바이너리는 %PROGRAMFILES%\Teleport Connect에 설치됩니다.
로컬 사용자를 위한 패스워드 없는 로그인을 제공하기 위해 Teleport의 Windows auth 패키지를 사용하고 있는 경우, 관리자 명령 프롬프트에서 설정 프로그램을 실행하여 제거할 수 있습니다:
> teleport-windows-auth-setup.exe uninstall
패키지를 완전히 제거하려면 제거 완료 후 재부팅이 필요합니다.
3/3단계. Teleport 데이터 및 설정 파일 제거#
이는 Teleport 설정 파일 및 데이터 디렉터리의 기본 경로입니다. 시스템에서 이 경로를 기본값에서 변경했다면 여기에 해당 경로를 대신 사용하세요.
Teleport 설정 파일을 제거합니다:
```code
$ sudo rm -f /etc/teleport.yaml
# 선택 사항: tbot 설정 파일을 사용했다면 이 파일도 제거
# $ sudo rm -f /etc/tbot.yaml
```
Teleport 데이터 디렉터리를 제거합니다:
```code
$ sudo rm -rf /var/lib/teleport
```
선택 사항으로, `tsh`의 전역 설정 파일과 로컬 사용자 데이터 디렉터리도 제거할 수 있습니다:
```code
$ sudo rm -f /etc/tsh.yaml
$ rm -rf ~/.tsh
```
이는 Teleport 설정 파일 및 데이터 디렉터리의 기본 경로입니다. 시스템에서 이 경로를 기본값에서 변경했다면 여기에 해당 경로를 대신 사용하세요.
Teleport 설정 파일을 제거합니다:
```code
$ sudo rm -f /etc/teleport.yaml
# 선택 사항: tbot 설정 파일을 사용했다면 이 파일도 제거
# $ sudo rm -f /etc/tbot.yaml
```
Teleport 데이터 디렉터리를 제거합니다:
```code
$ sudo rm -rf /var/lib/teleport
```
선택 사항으로, 다음도 제거할 수 있습니다:
- `tsh`의 전역 설정 파일과 로컬 사용자 데이터 디렉터리
- Teleport Connect의 로컬 사용자 데이터 디렉터리
```code
# tsh
$ sudo rm -f /etc/tsh.yaml
$ rm -rf ~/.tsh
# Teleport Connect
$ rm -rf ~/Library/Application\ Support/Teleport\ Connect
```
tsh의 로컬 사용자 데이터 디렉터리를 제거합니다:
$ rmdir /s /q %USERPROFILE%\.tsh
선택 사항으로, Teleport Connect의 로컬 사용자 데이터 디렉터리도 제거할 수 있습니다:
$ rmdir /s /q "%APPDATA%\Teleport Connect"
이제 시스템에서 Teleport가 제거되었습니다.
Teleport 프로세스가 중지된 후 마지막 하트비트가 만료되면, 모든 Teleport 서비스가 Teleport Web UI 또는 tsh ls의 출력에서 더 이상 나타나지 않습니다. 이는 일반적으로 Teleport 프로세스를 중지한 후 10~15분 이내에 발생합니다.
문제 해결#
"Teleport system symlinks creation" 오류#
타르볼에서 Teleport 바이너리를 수동으로 /usr/local/bin 디렉터리에 설치한 경우,
teleport 또는 teleport-ent RPM/DEB 패키지를 설치하려고 할 때 다음과 유사한 오류가 나타날 수 있습니다:
Setting up teleport-ent (18.5.0) ...
Teleport system symlinks creation...
2025-12-12T16:34:56.715-04:00 INFO [UPDATER] Validating binary name:fdpass-teleport agent/validate.go:68
2025-12-12T16:34:56.716-04:00 INFO [UPDATER] Binary does not support version command name:fdpass-teleport agent/validate.go:79
2025-12-12T16:34:56.716-04:00 ERRO [UPDATER] Command failed. error:[
ERROR REPORT:
Original Error: *errors.errorString file present
Stack Trace:
github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:875 github.com/gravitational/teleport/lib/autoupdate/agent.needsLink
github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:835 github.com/gravitational/teleport/lib/autoupdate/agent.(*LocalInstaller).tryLinks
github.com/gravitational/teleport/lib/autoupdate/agent/installer.go:483 github.com/gravitational/teleport/lib/autoupdate/agent.(*LocalInstaller).TryLinkSystem
github.com/gravitational/teleport/lib/autoupdate/agent/updater.go:1401 github.com/gravitational/teleport/lib/autoupdate/agent.(*Updater).LinkPackage
github.com/gravitational/teleport/tool/teleport-update/main.go:443 main.cmdLinkPackage github.com/gravitational/teleport/tool/teleport-update/main.go:251 main.Run
github.com/gravitational/teleport/tool/teleport-update/main.go:73 main.main
runtime/proc.go:283 runtime.main
runtime/asm_amd64.s:1700 runtime.goexit
User Message: failed to link system package installation
error evaluating link for fdpass-teleport
refusing to replace file at /usr/local/bin/fdpass-teleport
file present] teleport-update/main.go:271
dpkg: error processing package teleport-ent (--configure):
installed teleport-ent package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
teleport-ent
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
이 오류는 다음 명령어를 실행하여 이전에 설치된 바이너리 버전을 제거한 다음, 원래 사용했던 명령어로 패키지 설치를 다시 실행하면 해결할 수 있습니다.
$ sudo rm -f /usr/local/bin/tbot
$ sudo rm -f /usr/local/bin/tctl
$ sudo rm -f /usr/local/bin/teleport
$ sudo rm -f /usr/local/bin/tsh
$ sudo rm -f /usr/local/bin/fdpass-teleport
$ sudo rm -f /usr/local/bin/teleport-update