이 가이드는 Teleport와 Visual Studio Code의 원격 SSH 확장을 사용하는 방법을 설명합니다.
필수 조건
-
실행 중인 Teleport 클러스터 버전 이상. Teleport를 시작하려면, 가입하기 위해 무료 평가판에 등록하거나 데모 환경 설정하기를 참조하세요.
-
tctl
관리 도구와tsh
클라이언트 도구.tctl
과tsh
다운로드에 대한 지침은 설치를 방문하세요.
- OpenSSH 클라이언트.
- 원격 - SSH 확장을 위한 Visual Studio Code.
- Teleport SSH 서비스를 실행 중인 하나 이상의 Teleport 에이전트. 아직 설정하지 않았다면, 서버 액세스 시작 가이드를 읽고 방법을 배우세요.
Linux 및 macOS 클라이언트는 운영 체제에서 제공하는 OpenSSH 패키지를 사용해야 합니다. Windows 10 클라이언트는 Microsoft의 OpenSSH 가이드를 참조해야 하며, 이전 클라이언트는 Git for Windows 또는 Microsoft's Win32-OpenSSH project의 ssh.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
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
명령을 실행하면 오류가 발생합니다.
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 창의 왼쪽 하단에 나타납니다.
호스트에 연결하기 전에, 확장 설정에서 Remote.SSH: Use Local Server
설정을 false로 설정하세요. 플러그인 특정 설정을 찾으려면 @ext:ms-vscode-remote.remote-ssh
를 검색할 수 있습니다.
연결하려면, 두 개의 화살표 아이콘을 클릭하고 "호스트에 연결..."을 선택합니다. "+ 새 SSH 호스트 추가..."를 선택합니다.
원격 개발을 원하는 각 호스트에 대해 다음과 같은 항목을 추가합니다:
alice@node000.foo.example.com
어떤 SSH 구성 파일을 업데이트할지 선택하라는 메시지가 나타나면 1단계에서 생성한 파일을 선택합니다.
이렇게 하면 SSH 구성 파일에 새로운 노드가 추가됩니다. 이 파일에서 모든 노드를 편집하고 관리할 수 있습니다.
3단계/3. 원격 개발 세션 시작하기
다음 방법 중 하나로 원격 개발 세션을 시작합니다:
- 새 호스트를 추가한 후 열리는 알림에서 "연결"을 클릭합니다.
- 창 표시기를 다시 클릭하고 "호스트에 연결"을 선택합니다. 방금 추가한 호스트 및 구성 파일의 다른 호스트가 드롭다운에 표시됩니다.
첫 연결 시, 원격 OS를 구성하라는 메시지가 나타납니다. 적절한 플랫폼을 선택하면 VS Code가 서버 측 컴포넌트를 설치합니다. 완료되면 작업 중인 편집기가 표시됩니다:
왼쪽 하단의 창 표시기가 현재 연결된 원격 호스트를 강조 표시합니다.
다음 단계
OpenSSH 호스트에 연결하기
Teleport 클러스터에 가입된 모든 OpenSSH 호스트에서 원격 개발이 가능하여, 해당 호스트 OS가 VS Code에서 지원되지 않는 한 가능합니다. OpenSSH 가이드를 참조하여 원격 호스트가 Teleport 인증서로 인증되도록 구성한 다음, 위에 설명된 절차를 사용하여 VS Code에서 호스트에 연결하세요.
OpenSSH 클라이언트 사용하기
이 가이드는 tsh config
를 사용합니다. 추가 정보는 전용 가이드를 참조하세요.