Infograb logo
Visual Studio Code

이 가이드는 Teleport와 Visual Studio Code의 원격 SSH 확장을 사용하는 방법을 설명합니다.

필수 조건

  • 실행 중인 Teleport 클러스터 버전 이상. Teleport를 시작하려면, 가입하기 위해 무료 평가판에 등록하거나 데모 환경 설정하기를 참조하세요.

  • tctl 관리 도구와 tsh 클라이언트 도구.

    tctltsh 다운로드에 대한 지침은 설치를 방문하세요.

  • OpenSSH 클라이언트.
  • 원격 - SSH 확장을 위한 Visual Studio Code.
  • Teleport SSH 서비스를 실행 중인 하나 이상의 Teleport 에이전트. 아직 설정하지 않았다면, 서버 액세스 시작 가이드를 읽고 방법을 배우세요.
Note

Linux 및 macOS 클라이언트는 운영 체제에서 제공하는 OpenSSH 패키지를 사용해야 합니다. Windows 10 클라이언트는 Microsoft의 OpenSSH 가이드를 참조해야 하며, 이전 클라이언트는 Git for Windows 또는 Microsoft's Win32-OpenSSH projectssh.exe를 사용할 수 있습니다.

1단계/3. 처음 설정하기

로컬 SSH 클라이언트를 구성하여 Teleport 노드에 접근합니다. teleport.example.com를 Teleport 프록시 서비스의 주소로 교체하고(예: Teleport 클라우드 사용자의 경우 mytenant.teleport.sh), alice를 자신의 Teleport 사용자로 교체합니다.

프록시에 로그인:

tsh login --proxy teleport.example.com --user alice

프록스를 위한 OpenSSH 구성 생성:

tsh config --proxy teleport.example.com

결과로 생성된 구성 스니펫을 아래 경로에 위치한 SSH 구성 파일에 추가합니다:

$HOME/.ssh/config

%UserProfile%\.ssh\config

Warning

Windows에서 PowerShell을 사용하여 SSH 구성을 작성하는 경우, 일반 쉘 리디렉션이 잘못된 인코딩으로 파일을 작성할 수 있습니다. 올바르게 작성되도록 하려면 다음을 시도하세요:

tsh.exe config | out-file .ssh\config -encoding utf8 -append

원하는 노드에 연결하려면 다음 명령어를 사용하세요. user를 노드에서 가정하고자 하는 사용자 이름으로 교체합니다.

ssh user@example-node.teleport.example.com

이전에 생성한 SSH 구성은 SSH 클라이언트가 tsh proxy ssh를 실행하여 Teleport 클러스터의 노드에 접근하도록 지시합니다. 그러나 Teleport 프록시 서비스인 yourtenant.teleport.sh에 대해 ssh 명령을 실행하면 오류가 발생합니다.

Note

Teleport의 인증서는 꽤 빨리 만료되며, 만료 후 SSH 시도가 다음과 같은 오류로 실패합니다:

alice@proxy.foo.example.com: Permission denied (publickey).
ERROR: exit status 255

kex_exchange_identification: Connection closed by remote host

이 오류가 발생하면 tsh login을 다시 실행하여 로컬 인증서를 새로 고치세요.

2단계/3. Visual Studio Code 구성하기

로컬 VS Code 인스턴스에 Remote - SSH 확장을 설치합니다. 새로운 "창 표시기"(두 개의 화살표 아이콘)가 VS Code 창의 왼쪽 하단에 나타납니다.

Window Indicator in bottom left corner of VS Code
창 표시기

호스트에 연결하기 전에, 확장 설정에서 Remote.SSH: Use Local Server 설정을 false로 설정하세요. 플러그인 특정 설정을 찾으려면 @ext:ms-vscode-remote.remote-ssh를 검색할 수 있습니다.

VSCode 설정

연결하려면, 두 개의 화살표 아이콘을 클릭하고 "호스트에 연결..."을 선택합니다. "+ 새 SSH 호스트 추가..."를 선택합니다.

원격 개발을 원하는 각 호스트에 대해 다음과 같은 항목을 추가합니다:

alice@node000.foo.example.com
새 노드 추가하기

어떤 SSH 구성 파일을 업데이트할지 선택하라는 메시지가 나타나면 1단계에서 생성한 파일을 선택합니다.

이렇게 하면 SSH 구성 파일에 새로운 노드가 추가됩니다. 이 파일에서 모든 노드를 편집하고 관리할 수 있습니다.

3단계/3. 원격 개발 세션 시작하기

다음 방법 중 하나로 원격 개발 세션을 시작합니다:

  1. 새 호스트를 추가한 후 열리는 알림에서 "연결"을 클릭합니다.
Notification of "Host added" that has connect button
호스트 추가 알림
  1. 창 표시기를 다시 클릭하고 "호스트에 연결"을 선택합니다. 방금 추가한 호스트 및 구성 파일의 다른 호스트가 드롭다운에 표시됩니다.
노드에 연결하기

첫 연결 시, 원격 OS를 구성하라는 메시지가 나타납니다. 적절한 플랫폼을 선택하면 VS Code가 서버 측 컴포넌트를 설치합니다. 완료되면 작업 중인 편집기가 표시됩니다:

VS Code connected to a Teleport Node
연결된 VS Code

왼쪽 하단의 창 표시기가 현재 연결된 원격 호스트를 강조 표시합니다.

다음 단계

OpenSSH 호스트에 연결하기

Teleport 클러스터에 가입된 모든 OpenSSH 호스트에서 원격 개발이 가능하여, 해당 호스트 OS가 VS Code에서 지원되지 않는 한 가능합니다. OpenSSH 가이드를 참조하여 원격 호스트가 Teleport 인증서로 인증되도록 구성한 다음, 위에 설명된 절차를 사용하여 VS Code에서 호스트에 연결하세요.

OpenSSH 클라이언트 사용하기

이 가이드는 tsh config를 사용합니다. 추가 정보는 전용 가이드를 참조하세요.

추가 자료

Teleport 원문 보기