회사나 특정 조직의 사설망에 Visual Studio Code 원격 개발을 구성하려면 약간의 시행착오를 겪을 수 있습니다. 본 포스팅에서는 고충 없이 쉽게 Windows 사설망 서버에 VSCode 오프라인 설치 및 타겟 리눅스 서버로 Remote Development 설정하는 방법을 가이드 하겠습니다.
먼저 인터넷이 가능한 환경에서 VSCode 설치파일을 다운받아 사설망 서버에 업로드합니다.
설치 링크 : https://code.visualstudio.com/download
다음으로 VSCode Content Pack 두 가지를 다운로드 및 사설망 서버에 업로드합니다. 다운로드할 파일은 총 두 가지입니다. 설치는 링크와 그림을 참고하여 진행하시기 바랍니다. 그림의 버전과 일치할 필요 없이, 가장 최신 버전을 다운로드하시기 바랍니다.
I. Remote Development 설치 링크 : https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
II. Remote – SSH 설치 링크 : https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
만약 사설망에서 개발할 원격 서버로 방화벽을 등록해야 한다면, 22번 포트를 꼭 사전 등록하시기 바랍니다.
먼저 VSCode 를 업로드한 Installer 를 통해 설치합니다. 설치할 때 설정은 Default 그대로 진행하시면 됩니다.
설치 완료 후, VSCode 를 실행하고 아래 그림을 참고하여 업로드한 Remote Development 와 Remote – SSH 컨텐트 팩을 설치합니다.
아래 Step 을 진행하여 비밀번호 없이 타겟 리눅스 서버로 접속할 수 있게끔 설정합니다.
I. ‘윈도우 로고 + R’ 단축키 입력 및 powershell 실행
II. ssh-keygen 수행
> ssh-keygen -t rsa -b 4096
> (입력 값 없이 모두 Enter)
III. 생성된 id_rsa.pub 를 메모장으로 열고, 내용 복사
id_rsa.pub 파일은 아래 경로에 위치합니다.
C:\Users\<User Name>\.ssh
IV. 개발할 타겟 리눅스 서버에 authorized_keys 등록
– root 계정이 아닌 경우 : /home/<User>/.ssh/authorized_keys 맨 아래 줄에 복사한 내용 붙여넣기
– root 계정인 경우 : /root/.ssh/authorized_keys 맨 아래 줄에 복사한 내용 붙여넣기
V. PowerShell 에서 비밀번호 없이 ssh 접속 가능한 지 확인
ssh -i C:\Users\<User Name>\.ssh\id_rsa <Linux User>@<Linux IP>
아래 Step 을 진행하여 개발할 타겟 리눅스 서버 세션을 등록합니다. 모두 진행해도 VSCode 에서 원격 접속을 시도하면 실패하게 됩니다. 정상화하는 방법은 뒤에 가이드가 있으니 걱정하지 마세요~
I. VSCode 에서 세션 등록
– ‘Ctrl + Shift + P’ 단축키 입력
– ‘remote-ssh’ 입력 후, ‘Open SSH Configuration FIle…’ 선택
– ‘C:\Users\<User Name>\.ssh\config’ 선택
– 아래 그림을 참고하여 세션 등록
– ‘Ctrl + Shift + P’ 단축키 입력
– ‘remote-ssh’ 입력 후, ‘Connect to Host…’ 선택
– 등록한 세션 선택하여 접속 시도 (실패하게 됨)
VSCode 는 원격 서버로 ssh 접근할 수 있도록 타겟 서버에 특정 파일을 설치 및 구성합니다. 다만 해당 구성을 진행할 때 online 상에 존재하는 설치 압축 파일을 다운로드한 후 진행하는데요. 현재 우리는 사설망에서 구성하는 중이기 때문에 다운로드는 당연히 실패하게 됩니다. 때문에 VSCode 에서 등록한 세션으로 접속을 시도하면, 원인 모를 에러와 함께 접속이 실패하는 것이지요… 따라서, 설치 파일을 타겟 리눅스 서버에 업로드 및 설치를 manual 하게 진행하면 정상적으로 원격 개발 설정이 완료됩니다! 아래 Step 을 진행하여 구성을 완료합시다.
– 타겟 리눅스 VM 에 ssh 접속 후, 홈 디렉토리에서 아래 경로로 이동
root 계정인 경우 : /root/.vscode-server/bin
root 계정이 아닌 경우 : /home/<User>/.vscode-server/bin
– 아래 그림을 참고하여 ‘commit_id’ 확인
– 인터넷 환경에서 설치파일 다운로드 및 타겟 서버에 업로드
확인하신 commit_id 와 함께, 아래 설치파일 URL 및 예시를 참고하여 다운로드 및 업로드하시기 바랍니다. 어디에 업로드할 지 애매하시면, /tmp 에 업로드하시면 됩니다.
설치파일 URL : https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
예 : https://update.code.visualstudio.com/commit:f80445acd5a3dadef24aa209168452a3d97cc326/server-linux-x64/stable
– 설치 파일 압축 해제
tar -zxvf <path>/vscode-server-linux-x64.tar.gz
– 기존 파일 삭제
rm ~/.vscode-server/bin/<commit_id>/*
– 설치 파일로 재구성
mv <path>/vscode-server-linux-x64/* ~/.vscode-server/bin/<commit_id>
– VSCode 에서 접속 시도
VSCode 에서 ‘Ctrl + Shift + P’ 단축키 입력 및 ‘Connect to Host…’ 선택 후, 등록한 세션을 선택하여 접속 시도 (접속 성공)
짜잔! VSCode 원격 개발 설정을 성공적으로 완료하셨습니다! 사설망 구성 가이드가 구글에서 찾기가 어려워, 직접 가이드를 작성해 보았습니다. 누군가에게 이 글이 도움이 되기를 소망하며 포스팅을 마칩니다.
질문이 있으시면 댓글 달아주세요 🙂