Visual Studio Code
Teleport v18.9이 가이드는 Teleport와 Visual Studio Code의 remote SSH 확장을 함께 사용하는 방법을 보여줍니다. Visual Studio Code Remote - SSH 확장은 로컬 SSH 클라이언트를 사용해 원격 서버에 접근합니다.
이 가이드는 Teleport와 Visual Studio Code의 remote SSH 확장을 함께 사용하는 방법을 보여줍니다.
작동 방식#
Visual Studio Code Remote - SSH 확장은 로컬 SSH 클라이언트를 사용해 원격 서버에 접근합니다. Teleport를 사용하면 로컬 SSH 클라이언트에 대한 설정을 생성할 수 있으며, 이 설정은 클라이언트가 Teleport에서 발급한 OpenSSH 인증서를 사용해 Teleport로 보호되는 Linux 서버에 연결하도록 지시합니다.
사전 요구 사항#
-
실행 중인 Teleport 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.
-
`tsh` client.
Installing \`tsh\` client
-
Teleport 클러스터의 버전을 확인합니다. `tsh` client는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의
/v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다.teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:$ TELEPORT_DOMAIN=teleport.example.com:443 $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')" -
사용 중인 플랫폼에 대한 지침에 따라 `tsh` client를 설치합니다:
-
Mac
\`tsh\` client가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
```code
$ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
```
Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
보장할 수 없습니다.
Windows - Powershell
```code
$ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
# Unzip the archive and move the \`tsh\` client to your %PATH%
# NOTE: Do not place the \`tsh\` client in the System32 directory, as this can cause issues when using WinSCP.
# Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
```
Linux
Linux 설치판의 모든 Teleport 바이너리에는 \`tsh\` client가 포함되어 있습니다. RPM/DEB
패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
[설치 페이지](../installation/installation.mdx)를 참조하세요.
```code
$ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ cd teleport
$ sudo ./install
# Teleport binaries have been copied to /usr/local/bin
```
- OpenSSH 클라이언트.
- Remote - SSH 확장을 위한 Remote - SSH extension이 설치된 Visual Studio Code.
- Teleport SSH 서비스를 실행하는 하나 이상의 Teleport 에이전트. 아직 설정하지 않았다면 시작 가이드를 참조하여 방법을 알아보세요.
Linux 및 macOS 클라이언트는 운영체제에서 제공하는 OpenSSH 패키지를 사용해야 합니다. Windows 10 클라이언트는 Microsoft의 OpenSSH guide를 참조해야 하며, 이전 버전의 클라이언트는 Git for Windows 또는 Microsoft의 Win32-OpenSSH project에서 제공하는 ssh.exe를 사용할 수 있습니다.
1/3단계. 최초 설정#
로컬 SSH 클라이언트가 Teleport 노드에 접근하도록 설정합니다. teleport.example.com를 Teleport 프록시 서비스의 주소로 바꾸고(예: Teleport Cloud 사용자의 경우 mytenant.teleport.sh), alice를 사용자의 Teleport 사용자 이름으로 바꿉니다.
# log in to your proxy:
$ tsh login --proxy teleport.example.com --user alice
# generate the OpenSSH config for the proxy:
$ tsh config --proxy teleport.example.com
생성된 설정 스니펫을 아래 경로에 있는 SSH 설정 파일에 추가합니다.
$HOME/.ssh/config
%UserProfile%\.ssh\config
Windows에서 PowerShell을 사용해 SSH 설정을 작성하는 경우, 일반적인 셸 리디렉션이 파일을 잘못된 인코딩으로 작성할 수 있다는 점에 유의하세요. 파일이 올바르게 작성되도록 하려면 다음 방법을 시도해 보세요.
$ tsh.exe config | out-file .ssh\config -encoding utf8 -append
다음 명령을 사용하여 원하는 노드에 연결할 수 있습니다. 이때 user는 노드에서 사용하려는 사용자 이름으로, example-node는 노드 이름으로 바꿉니다.
$ ssh user@example-node.teleport.example.com
Teleport Cloud
앞서 생성한 SSH 설정은 SSH 클라이언트가 `tsh proxy ssh`를 실행하여 Teleport 클러스터의 노드에 접근하도록 지시합니다. 그러나 `yourtenant.teleport.sh`의 Teleport 프록시 서비스에 대해 `ssh` 명령을 직접 실행하면 오류가 발생합니다.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 extension을 설치합니다. VS Code 창의 왼쪽 하단에 새로운 "Window Indicator"(화살표 두 개 아이콘)가 나타납니다.

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

연결하려면 화살표 두 개 아이콘을 클릭하고 "Connect to Host..."를 선택합니다. "+ Add New SSH Host..."를 선택합니다.
원격 개발을 하려는 각 호스트에 대해 다음과 같은 항목을 추가합니다.
alice@node000.foo.example.com

업데이트할 SSH 설정 파일을 선택하라는 메시지가 표시되면 1단계에서 생성한 파일을 선택합니다.
이렇게 하면 SSH 설정 파일에 새 노드가 작성됩니다. 이 파일에서 모든 노드를 편집하고 관리할 수 있습니다.
3/3단계. 원격 개발 세션 시작#
다음 중 한 가지 방법으로 원격 개발 세션을 시작합니다.
- 새 호스트를 추가한 후 열리는 알림에서 "Connect"를 클릭합니다.

- Window Indicator를 다시 클릭하고 "Connect to Host"를 선택합니다. 드롭다운에 방금 추가한 호스트와 설정 파일에 있는 다른 호스트가 표시됩니다.

최초 연결 시, 원격 운영체제를 설정하라는 메시지가 표시됩니다. 알맞은 플랫폼을 선택하면 VS Code가 서버 측 구성 요소를 설치합니다. 설치가 완료되면 다음과 같이 작동하는 편집기를 사용할 수 있습니다.

왼쪽 하단의 Window Indicator는 현재 연결된 원격 호스트를 표시합니다.
다음 단계#
OpenSSH 호스트에 연결하기#
호스트 운영체제가 VS Code에서 지원되는 한, Teleport 클러스터에 조인된 모든 OpenSSH 호스트에서 원격 개발을 할 수 있습니다. Teleport 인증서를 통해 인증하도록 원격 호스트를 설정하는 방법은 OpenSSH guide를 참조하세요. 설정 후에는 위에서 설명한 절차를 사용해 VS Code에서 호스트에 연결할 수 있습니다.
OpenSSH 클라이언트 사용하기#
이 가이드는 tsh config를 사용합니다. 추가 정보는 dedicated guide를 참조하세요.