개발도구/Visual Studio Code

[VSCode] 사설망에 VSCode Server 설치

쓴웃음 2021. 5. 29. 17:38

개요

Visual Studio Code 원격 - SSH 확장팩은 원격 PC의 파일과 폴더에 접속하여 개발할 수 있는 환경을 제공합니다. 이를 통해 로컬 PC에 별도로 컴파일 환경을 구축하고 소스코드를 관리할 필요 없이 편리하게 개발할 수 있는 환경을 제공합니다. 하지만 이 기능은 원격 PC에 VSCode Server를 자동으로 다운로드하여야 하므로 인터넷이 연결되어 있지 않은 환경에서는 이용하기 어렵습니다.

이번 글은 인터넷이 연결되어 있지 않은 사설망에서 SSH 확장팩을 사용해 개발할 수 있도록 VSCode와 VSCode Server를 수동으로 설치하는 절차를 설명합니다.

방법

가정 : 사설망에 존재하는 로컬 PC와 원격 PC는 인터넷과 직접 연결이 되어 있지 않더라도, 외부에서 별도의 USB 등을 통해 설치를 위해 다운로드한 파일을 전달할 수 있어야 합니다.

Client 설치

  1. 로컬 PC에 VSCode원격 SSH 확장팩을 다운로드하여 설치합니다.

확장팩의 오프라인 설치방법은 링크를 참고합니다.

  1. SSH host setup에 안내를 따라 SSH가 접속이 되도록 원격 PC를 준비합니다.

예) 리눅스(Ubuntu)의 경우, sudo apt-get install openssh-server를 실행하여 ssh 서버를 설치합니다.

원격 SSH 접속 및 로그 확인

설치가 완료된 후, VSCode에서 원격 SSH 확장팩을 통해 원격 PC에 접속합니다. 다음과 같이 오류가 표시되며 연결이 되지 않습니다.

[13:46:09.556] > Trigger local server download
> 85193ace2094:trigger_server_download
> platform==linux==
> vscodeArch==x64==
> destFolder==/home/user/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335==
> 85193ace2094:trigger_server_download_end
> Waiting for client to transfer server archive...
> Waiting for /home/user/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335/vscode-scp-done.flag and vscode-server.tar.gz to exis

로그의 destFolder 항목의 {COMMIT_ID} 값을 확인합니다.
(오타 내기 쉬운 부분이며, 로그에 == 표시는 무시 합니다.)

VScode Server 설치

앞선 로그의 내용을 바탕으로 웹브라우저 또는 wget을 사용하여, VSCode Server 파일을 다운로드합니다.

$ cd ~
# For Stable Version
$ wget -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:054a9295330880ed74ceaedda236253b4f39a335/server-linux-x64/stable

# For Insider Version
$ wget -O vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:054a9295330880ed74ceaedda236253b4f39a335/server-linux-x64/insider

다운로드한 파일을 앞서 확인된 destFolder로 옮겨 압축을 해제합니다.

$ cd ~/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335
$ tar -xvzf ~/vscode-server-linux-x64.tar.gz --strip-components 1

참고