본문 바로가기

개발 노트/Etc.

[Linux] Ubuntu Server 에 VS Code Remote Tunnel 사용하기

반응형

Ubuntu Server 에서도 VS Code 의 Remote Tunnel 기능을 사용할 수 있다고 하여 이를 챗지피티에게 물어본 글을 옮겨 적는다. 

실제로는 아래 명령 중 서비스 등록 부분만 검증이 되었고 필자는 Ubuntu Desktop 이어서 VS Code 를 설치하고 VS Code UI 화면에서 Remote Tunnel 을 실행한 후에 서비스 등록 부분만 추가해서 사용 중이다.

1. Ubuntu에 VS Code 설치

Visual Studio Code는 CLI에서도 설치가 가능합니다.

(a) Microsoft 패키지 리포지토리 추가

sudo apt update
sudo apt install wget gpg -y
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update

(b) Visual Studio Code 설치

sudo apt install code

2. Remote Tunnel 설치 및 활성화

VS Code Remote Tunnel은 별도의 확장을 설치할 필요 없이 CLI 명령을 통해 사용할 수 있습니다.

(a) 터널을 열기 위한 명령 실행

Ubuntu 서버에서 다음 명령을 실행하여 Remote Tunnel을 엽니다:

code tunnel

 

(b) GitHub 계정 로그인

위 명령을 실행하면 GitHub 로그인을 요구합니다. 터미널에 출력된 URL을 브라우저에서 열어 GitHub 계정으로 로그인하세요. 이후 서버가 자동으로 터널을 시작합니다.


3. 원격에서 터널 사용

(a) 클라이언트에서 연결

로컬 컴퓨터(Windows 등)에서 Visual Studio Code를 실행하고 Remote - Tunnels 확장을 설치합니다.
View > Command Palette를 열고 **"VS Code: Connect to Tunnel"**을 선택하여, 터널 이름을 입력하거나 GitHub 계정으로 연결된 터널을 선택합니다.

(b) 터널 주소 확인

Ubuntu 서버에서 code tunnel을 실행하면 자동으로 터널 주소를 제공합니다. 이 주소를 로컬 Visual Studio Code에서 입력하여 연결합니다.


4. 서버 재부팅 시 자동으로 터널 시작

터널을 항상 유지하려면 systemd 서비스를 구성하여 터널이 서버 재부팅 후에도 활성화되도록 설정할 수 있습니다.

(a) code-tunnel.service 파일 생성

sudo nano /etc/systemd/system/code-tunnel.service

(b) 다음 내용을 추가

[Unit]
Description=VS Code Remote Tunnel
After=network.target

[Service]
ExecStart=/usr/bin/code tunnel --accept-server-license-terms
Restart=always
User=YOUR_USERNAME
Environment=PATH=/usr/bin:/usr/local/bin

[Install]
WantedBy=multi-user.target

 

YOUR_USERNAME을 서버의 사용자 계정으로 바꾸세요.

(c) 서비스 활성화

sudo systemctl enable code-tunnel
sudo systemctl start code-tunnel
반응형