원격 터널 개발
Visual Studio Code의 원격 - 터널 확장을 사용하면 데스크톱 PC 또는 가상 머신(VM)과 같은 원격 컴퓨터에 안전한 터널을 통해 연결할 수 있습니다. SSH가 필요 없이 어디서든 VS Code 클라이언트에서 해당 컴퓨터에 연결할 수 있습니다.
터널링은 Microsoft dev tunnels를 통해 한 네트워크에서 다른 네트워크로 데이터를 안전하게 전송합니다.
이 확장은 명령 및 기타 확장을 원격 컴퓨터에서 직접 실행하므로 VS Code 클라이언트 컴퓨터에 소스 코드가 있을 필요가 없습니다. 이 확장은 원격 OS에 VS Code Server를 설치합니다. 이 서버는 원격 OS에 설치된 기존 VS Code 설치와 독립적입니다.

VS Code는 코드의 위치에 관계없이 전체 IntelliSense(완성), 코드 탐색 및 디버깅을 포함한 **로컬 수준의 개발 환경**을 제공할 수 있습니다.
시작하기
터널을 사용하려면 두 가지 방법이 있습니다.
code명령줄 인터페이스(CLI)의tunnel명령을 실행합니다.- VS Code 데스크톱 UI를 통해 터널링을 활성화합니다.
두 방법 모두 동일한 터널링 기능을 제공하므로 자신에게 가장 적합한 도구를 사용할 수 있습니다. CLI는 원격 컴퓨터에 전체 VS Code 데스크톱을 설치할 수 없는 경우 훌륭한 옵션입니다. VS Code 데스크톱 UI를 사용하는 것은 이미 VS Code에서 일부 작업을 수행하고 있으며 현재 컴퓨터에 대한 터널링을 활성화하려는 경우 편리합니다.
두 가지 방법에 대해 아래 섹션에서 설명하겠습니다.
'code' CLI 사용
code CLI를 통해 터널을 생성하고 사용할 수 있습니다.
-
VS Code 클라이언트에서 개발하려는 원격 컴퓨터에
codeCLI를 설치합니다. CLI는 VS Code 클라이언트와 원격 컴퓨터 간에 터널을 설정합니다. CLI는 VS Code 데스크톱에 자동으로 내장되어 있으므로 추가 설정이 필요 없습니다.대체 다운로드
또는 다운로드 페이지에서 독립 실행형 설치를 통해 CLI를 가져올 수 있습니다. 이는 VS Code 데스크톱 설치와는 별개입니다.

원격 컴퓨터의 터미널을 통해 CLI를 설치하고 압축을 풀 수도 있습니다. 원격 컴퓨터에 UI가 없는 경우 특히 유용할 수 있습니다.
curl -Lk 'https://vscode.gisul.kr/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gz tar -xf vscode_cli.tar.gz참고: 독립 실행형 또는 터미널 설치를 사용하는 경우 다음 섹션의 명령은
code대신./code로 시작합니다. -
tunnel명령으로 안전한 터널 생성code tunnel이 명령은 이 컴퓨터에서 VS Code Server를 다운로드하고 시작한 다음 터널을 만듭니다.
참고: 처음으로 컴퓨터에서 터널을 시작할 때 서버 라이선스 약관을 수락하라는 메시지가 표시됩니다. 프롬프트를 방지하기 위해 명령줄에서
--accept-server-license-terms를 전달할 수도 있습니다. -
이 CLI는
https://vscode.dev/tunnel/<machine_name>/<folder_name>과 같은 원격 컴퓨터에 연결된 vscode.dev URL을 출력합니다. 이 URL을 원하는 클라이언트에서 열 수 있습니다. -
이 클라이언트에서 처음으로 vscode.dev URL을 열 때
https://github.com/login/oauth/authorize...URL에서 GitHub 계정에 로그인하라는 메시지가 표시됩니다. 이를 통해 터널링 서비스에 인증되어 올바른 원격 컴퓨터 집합에 액세스할 수 있습니다.
VS Code UI 사용
-
터널 액세스를 켜려는 원격 컴퓨터에서 VS Code를 엽니다.
-
VS Code 계정 메뉴에서 아래 이미지와 같이 **원격 터널 액세스 켜기** 옵션을 선택합니다. VS Code에서 명령 팔레트(F1)를 열고 **원격 터널: 원격 터널 액세스 켜기...** 명령을 실행할 수도 있습니다.

-
GitHub에 로그인하라는 메시지가 표시됩니다. 로그인하면 현재 컴퓨터에서 터널이 시작되고 원격으로 이 컴퓨터에 연결할 수 있습니다.

-
원하는 클라이언트에서 위의 알림에서 vscode.dev 링크를 열고 코딩을 시작할 수 있습니다!
참고: 원격 컴퓨터는 VS Code가 거기서 실행되는 동안에만 터널을 통해 액세스할 수 있습니다. VS Code를 종료하면 거기서 VS Code를 다시 시작하거나
code tunnelCLI 명령을 실행하기 전까지는 터널링할 수 없습니다.
원격 터널 확장
code CLI 또는 VS Code UI를 통해 여는 vscode.dev 인스턴스에는 원격 - 터널 확장 프로그램이 미리 설치되어 있습니다.
이미 VS Code(데스크톱 또는 웹)에서 작업 중이고 원격 터널에 연결하려는 경우 원격 - 터널 확장을 직접 설치하고 사용할 수 있습니다. 확장을 설치한 후 명령 팔레트(F1)를 열고 **원격 터널: 터널에 연결** 명령을 실행합니다. 활성 터널이 있는 모든 원격 컴퓨터에 연결할 수 있습니다.
원격 보기로 포커스: 원격 보기 명령을 통해 집중할 수 있는 원격 탐색기에서 원격 컴퓨터를 볼 수도 있습니다.

다른 원격 개발 확장과 마찬가지로 원격 컴퓨터의 이름이 왼쪽 하단의 녹색 원격 표시기에 나열됩니다. 이 표시기를 클릭하면 원격 터널 명령을 탐색하고 원격 연결을 닫거나 VS Code 데스크톱을 설치하는 옵션을 사용할 수 있습니다.

컨테이너 내 원격 터널 호스트의 폴더 열기
원격 - 터널 및 개발 컨테이너 확장을 함께 사용하여 원격 호스트의 폴더를 컨테이너 내에서 열 수 있습니다. 로컬에 Docker 클라이언트를 설치할 필요도 없습니다.
이를 위해
- 원격 호스트에 Docker를 설치하고 로컬에 VS Code 및 개발 컨테이너 확장을 설치하기 위한 설치 단계를 따릅니다.
- 터널을 설정하고 연결한 다음 해당 폴더를 여는 원격 - 터널 확장 프로그램의 시작하기 지침을 따릅니다.
- 명령 팔레트(F1, ⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 **Dev Containers: Reopen in Container** 명령을 사용하십시오.
나머지 개발 컨테이너 빠른 시작은 그대로 적용됩니다. 개발 컨테이너 확장에 대한 자세한 내용은 해당 설명서에서 확인할 수 있습니다. 이 모델이 요구 사항을 충족하지 않는 경우 원격 Docker 호스트에서 개발 기사를 참조할 수도 있습니다.
자주 묻는 질문
원격 터널, VS Code Server 및 원격 개발 간의 관계는 무엇입니까?
Visual Studio Code 원격 개발을 사용하면 컨테이너, 원격 컴퓨터 또는 Linux용 Windows 하위 시스템(WSL)을 완전한 기능을 갖춘 개발 환경으로 사용할 수 있습니다.
원격 개발을 사용하면 로컬 VS Code 설치가 "원격 서버"인 VS Code Server로 특정 명령 실행을 이동하여 다른 컴퓨터(가상 또는 물리적)의 소스 코드 및 런타임 환경과 투명하게 상호 작용할 수 있습니다. VS Code Server는 원격 끝점에 연결할 때 VS Code에 의해 빠르게 설치되며 원격 작업 영역, 컴퓨터 및 파일 시스템과 직접 상호 작용하는 확장 프로그램을 호스팅할 수 있습니다.
이 VS Code Server 백엔드 구성 요소를 자체적으로 실행할 수 있는 서비스로 릴리스했습니다. ( 해당 설명서에서 자세히 알아볼 수 있습니다.) 원격 개발 확장에 의해서만 설치 및 관리되는 것이 아니라.
VS Code Server에 액세스하려면 몇 가지 구성 요소가 필요합니다.
- VS Code Server: VS Code 원격 환경을 가능하게 하는 백엔드 서버.
- 원격 - 터널 확장: 서버 인스턴스가 실행 중인 원격 컴퓨터에 대한 연결을 촉진하는 확장 프로그램.
확장 개발자로서 무엇을 해야 하나요?
VS Code 확장 API는 로컬/원격 세부 정보를 추상화하므로 대부분의 확장은 수정 없이 작동합니다. 그러나 확장은 모든 노드 모듈 또는 런타임을 사용할 수 있으므로 조정이 필요한 상황이 발생할 수 있습니다. 확장을 테스트하여 업데이트가 필요한지 확인하는 것이 좋습니다. 자세한 내용은 원격 개발 지원을 참조하십시오.
동일한 원격 인스턴스에 여러 사용자 또는 클라이언트가 동시에 액세스할 수 있습니까?
아니요, 서버 인스턴스는 한 번에 한 사용자 또는 클라이언트만 액세스하도록 설계되었습니다.
터널 또는 컴퓨터를 제거하는 방법은 무엇입니까?
CLI를 통해 실행 중인 터널을 중지하려면 Ctrl + C를 사용하여 활성 터널을 종료할 수 있습니다. VS Code UI를 통해 터널링을 활성화한 경우 VS Code에서 **원격 터널: 원격 터널 액세스 끄기...** 명령을 실행하여 터널링을 끌 수 있습니다.
해당 컴퓨터에서 code tunnel unregister를 실행하여 터널링과의 컴퓨터 연결을 제거할 수 있습니다. 또한 모든 VS Code 클라이언트를 열고 원격 탐색기 보기를 선택한 다음 제거하려는 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 **등록 취소**를 선택할 수도 있습니다.
터널은 어떻게 보호됩니까?
터널을 호스팅하고 연결하는 데는 양쪽 모두에서 동일한 GitHub 또는 Microsoft 계정으로 인증해야 합니다. 두 경우 모두 VS Code는 Azure에서 호스팅되는 서비스로 아웃바운드 연결을 합니다. 일반적으로 방화벽 변경은 필요하지 않으며 VS Code는 네트워크 수신기를 설정하지 않습니다.
원격 VS Code 인스턴스에서 연결하면 터널을 통해 SSH 연결이 생성되어 종단 간 암호화를 제공합니다. 이 암호화에 현재 선호되는 사이퍼는 CTR 모드의 AES 256이며, 이를 구현하는 코드는 오픈 소스입니다.
기본 dev tunnels 서비스의 보안에 대한 자세한 내용은 해당 설명서에서 확인할 수 있습니다.
터널링 서비스에 사용량 제한이 있습니까?
기본 터널링 서비스의 남용을 방지하기 위해 터널 수 및 대역폭과 같은 리소스에 대한 사용량 제한이 있습니다. 대부분의 사용자는 이러한 제한에 도달하지 않을 것으로 예상됩니다.
예를 들어, 현재 계정에 10개의 터널을 등록할 수 있습니다. 이미 10개의 다른 터널을 등록한 상태에서 새 터널을 생성하면 CLI는 임의의 사용되지 않는 터널을 선택하고 삭제합니다. 이 제한은 변경될 수 있습니다.
조직 전체에 정책을 구성할 수 있습니까?
포트 전달에 대한 액세스를 제어하려는 조직의 일부인 경우 global.rel.tunnels.api.visualstudio.com 도메인에 대한 액세스를 허용하거나 거부하여 이를 수행할 수 있습니다.
Windows 장치를 실행하는 사용자의 경우 dev tunnels에 대한 그룹 정책 설정을 구성한 다음 배포할 수도 있습니다. dev tunnels 설명서에서 자세히 알아볼 수 있습니다.
터널을 계속 실행되도록 하려면 어떻게 해야 합니까?
몇 가지 옵션이 있습니다.
service명령을 사용하여 서비스로 실행합니다.code tunnel service install및code tunnel service uninstall을 실행하여 설치 및 제거할 수 있습니다.no-sleep옵션,code tunnel --no-sleep를 사용하여 원격 컴퓨터가 절전 모드로 전환되는 것을 방지합니다.
code CLI 설명서에서 언급했듯이 code tunnel --help를 통해 가능한 모든 CLI 명령 및 옵션을 탐색할 수 있습니다.