인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
비주얼 스튜디오 코드
이 가이드는 Teleport와 비주얼 스튜디오 코드의 원격 SSH 확장을 사용하는 방법을 설명합니다.
전제 조건
-
실행 중인 Teleport 클러스터 버전 17.0.0-dev 이상. Teleport를 시작하려면, 가입하여 무료 체험판에 등록하거나 데모 환경 설정하세요.
-
tsh
클라이언트 도구.tsh
다운로드에 대한 지침은 설치 를 방문하세요.
- OpenSSH 클라이언트.
- Remote - SSH 확장이 포함된 비주얼 스튜디오 코드.
- Teleport SSH 서비스를 실행하는 하나 이상의 Teleport 에이전트. 아직 이 작업을 수행하지 않았다면, 서버 액세스 시작 가이드를 읽어보십시오.
Note
Linux 및 macOS 클라이언트는 운영 체제에서 제공하는 OpenSSH 패키지를 사용하는
것이 좋습니다. Windows 10 클라이언트는 Microsoft의 OpenSSH 가이드를
참조하시고, 이전 클라이언트는 Git for Windows 또는 Microsoft의
Win32-OpenSSH 프로젝트에서 ssh.exe
를 사용할 수 있습니다.
1/3단계. 첫 번째 설정
로컬 SSH 클라이언트를 설정하여 Teleport 노드에 액세스합니다. teleport.example.com를 Teleport Proxy Service의 주소로 교체하십시오(예: Teleport Cloud 사용자라면 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 클라이언트에 Teleport 클러스터의 노드에
액세스하기 위해 tsh proxy ssh
를 실행하라고 지시합니다. 그러나
yourtenant.teleport.sh
에서 Teleport Proxy Service에 대해 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 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"를 선택합니다.
방금 추가한 호스트와 구성 파일의 다른 호스트가 드롭다운에 표시됩니다.
처음 연결할 때 원격 OS를 구성하라는 메시지가 표시됩니다. 적절한 플랫폼을 선택하면 VS Code가 서버 측 구성 요소를 설치합니다.
완료되면 작동하는 편집기가 표시됩니다:

왼쪽 하단의 Window Indicator는 현재 연결된 원격 호스트를 강조 표시합니다.
다음 단계
OpenSSH 호스트에 연결
Teleport 클러스터에 참여한 OpenSSH 호스트에서 원격 개발이 가능합니다. 단, 해당 호스트 OS가 VS Code에서 지원되어야 합니다.
OpenSSH 가이드를 참조하여 원격 호스트를 Teleport 인증서를 통해 인증하도록 구성한 후, 위에 설명된 절차를 사용하여 VS Code에서 호스트에 연결할 수 있습니다.
OpenSSH 클라이언트 사용
본 가이드는 tsh config
를 사용합니다; 추가 정보는 전용 가이드를 참조하십시오.