리눅스

우분투에서 teleport를 설치하는 방법(3)

변군이글루 2024. 11. 21. 10:37
반응형

우분투에서 텔레포트(teleport)를 설치하는 방법(3)

1. Teleport 패키지 다운로드 및 설치

Teleport 공식 웹사이트에서 패키지를 다운로드하여 수동으로 설치할 수도 있습니다.

 

Teleport 다운로드

wget https://cdn.teleport.dev/teleport-v17.0.1-linux-amd64-bin.tar.gz

압축 해제 및 설치

tar -xzf teleport-v17.0.1-linux-amd64-bin.tar.gz
sudo mv teleport/tsh teleport/tctl /usr/local/bin/

설치 확인

tsh version
Teleport v17.0.1 git:v17.0.1-0-gdc583710 go1.23.3
tctl version
Teleport v17.0.1 git:v17.0.1-0-gdc583710 go1.23.3

2. Teleport 서버에 접속

tsh 로그인

tsh를 사용하여 Teleport 서버에 로그인합니다.

 

로그인 명령 실행

tsh login --proxy=<PROXY_ADDRESS> --user=<USERNAME>
tsh login --proxy=teleport.scbyun.com --user=ssh_username

 

로그인 상태 확인

tsh status
$ tsh status
> Profile URL:        https://teleport.scbyun.com:443
  Logged in as:       ssh_username
  Cluster:            teleport.scbyun.com
  Roles:              access, editor
  Logins:             root, ubuntu, ec2-user, vagrant
  Kubernetes:         enabled
  Valid until:        2024-11-22 02:05:30 +0900 KST [valid for 12h0m0s]
  Extensions:         login-ip, permit-agent-forwarding, permit-port-forwarding, permit-pty, private-key-policy

Teleport 리소스 서버에 접속

로그인 후 Teleport 리소스 서버에 SSH로 접속할 수 있습니다.

 

리소스 목록 확인

tsh ls
$ tsh ls
Node Name Address        Labels
--------- -------------- ------
node141   127.0.0.1:3022
node142   ⟵ Tunnel

리소스 서버 접속

tsh ssh node142
$ tsh ssh node142
root@node142:~$

3. 우분투 클라이언트에서 SSH 키를 사용하여 연결

Teleport 서버에서 인증받은 후 tsh를 통해 노드에 SSH로 연결할 수 있습니다.

키 파일 확인

현재 세션 키 확인

ls ~/.tsh/<cluster-name>/<username>/
$ ls -l ~/.tsh/keys/teleport.scbyun.com/
total 20
drwx------ 2 root root   37 Nov 21 14:05 cas
-rw-r----- 1 root root  791 Nov 21 14:05 certs.pem
-rw------- 1 root root  387 Nov 21 14:05 ssh_username
-rw------- 1 root root 1460 Nov 21 14:05 ssh_username.crt
-rw------- 1 root root  241 Nov 21 14:05 ssh_username.key
-rw------- 1 root root   81 Nov 21 14:05 ssh_username.pub
drwx------ 2 root root   42 Nov 21 14:05 ssh_username-ssh

SSH 키 파일 위치

cat ~/.tsh/keys/<cluster-name>/<username>
$ ls -l ~/.tsh/keys/teleport.scbyun.com/ssh_username
-rw------- 1 root root 387 Nov 21 14:05 /root/.tsh/keys/teleport.scbyun.com/ssh_username

키 인증서 확인

cat ~/.tsh/keys/<cluster-name>/<username>.pub
$ ls -l ~/.tsh/keys/teleport.scbyun.com/ssh_username.pub
-rw------- 1 root root 81 Nov 21 14:05 /root/.tsh/keys/teleport.scbyun.com/ssh_username.pub

키를 추출하여 SSH에 사용

Teleport에서 발급된 키를 일반 SSH 클라이언트에서 사용합니다.

 

키 파일 복사

cp ~/.tsh/keys/<cluster-name>/<username> ~/.ssh/teleport_id_rsa
cp ~/.tsh/keys/<cluster-name>/<username>.pub ~/.ssh/teleport_id_rsa-cert.pub
cp ~/.tsh/keys/teleport.scbyun.com/ssh_username ~/.ssh/teleport_id_rsa
cp ~/.tsh/keys/teleport.scbyun.com/ssh_username.pub ~/.ssh/teleport_id_rsa-cert.pub

권한 설정

chmod 600 ~/.ssh/teleport_id_rsa
chmod 600 ~/.ssh/teleport_id_rsa-cert.pub

직접 SSH 명령으로 연결

ssh -i ~/.ssh/teleport_id_rsa <USERNAME>@<NODE_IP>
ssh -i ~/.ssh/teleport_id_rsa ssh_username@192.168.0.142

SSH 구성 파일에 추가

  • Teleport 키를 사용할 호스트를 추가로 설정합니다
vim ~/.ssh/config
Host teleport
    HostName teleport.scbyun.com
    Port 3022
    User <username>
    IdentityFile ~/.ssh/teleport_id_rsa
    CertificateFile ~/.ssh/teleport_id_rsa-cert.pub
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

 

728x90
반응형