visual studio code와 putty를 이용해 원격 머신의 linux 연결하는 법

2022. 11. 30. 22:15카테고리 없음

728x90

환경

gcp ubuntu

 

사전 지식

putty(기초)

ssh(기초)


우선 들어가기 앞서 MS에 실망했다.

visual studio code는 원격 리모트 기능을 확장 기능으로 지원해서 실제 폴더/파일 구조의 탐색기와 원격 접속으로 직접 수정 가능하지만 visual studio 2022(현재 글을 작성하는 최신 버전)에서는 이런 기능들을 지원하지 않는다!

https://stackoverflow.com/questions/63821699/can-visual-studio-not-vs-code-do-remote-ssh-development-the-docs-says-yes-bu

 

Can Visual Studio (NOT VS Code) do remote ssh development? The docs says yes, but

This seems like it ought to be solved with a google search, but I've been looking really hard for the past hour and can't find it. There are many links saying Visual Studio (not VS Code) supports r...

stackoverflow.com

C++ 일 경우 로컬에 있는 파일을 원격에 덮어 씌기 해서 파일 동기화 및 디버깅 시 원격 디버깅을 지원하는데 나는 C++ 이 싫다!!!

https://learn.microsoft.com/ko-kr/cpp/linux/connect-to-your-remote-linux-computer?view=msvc-170 

 

Visual Studio에서 대상 Linux 시스템에 연결

Visual Studio C++ 프로젝트 내에서 원격 Linux 머신 또는 Linux용 Windows 하위 시스템에 연결하는 방법입니다.

learn.microsoft.com

그리고 소스코드를 리눅스에 직접 접근해서 작업할 수 없으니 소스가 나눠지는 사태가 일어난다.

물론 실제 소스를 원격지의 리눅스에 덮어 씌기 하니 웬만해선 파일이 동기화가 일어나지 않는 상황은 발생하지 않겠다만 세상 일, 그리 만만하게 흘러가겠는가? 절대라는 기준 하에 일어나지 않는다란 건 불가능한 상황이기 때문에 불안하다.

그리고 C#이나 python 같은 경우 C++ 보다 기능이 더 부족하다.

각각 디버깅의 원격 지원만 가능한 상황이다.

https://learn.microsoft.com/ko-kr/visualstudio/debugger/remote-debugging-dotnet-core-linux-with-ssh?view=vs-2022 

 

Linux에서 .NET Core 원격 디버그 - Visual Studio (Windows)

프로세스에 연결하여 SSH(Secure Shell)를 통해 Linux에서 .NET Core를 디버그합니다. 디버깅을 위해 앱을 준비합니다. 앱을 빌드 및 배포합니다. 디버거를 연결합니다.

learn.microsoft.com

https://learn.microsoft.com/ko-kr/visualstudio/python/debugging-python-code-on-remote-linux-machines?view=vs-2022 

 

원격 Linux 컴퓨터에서 Python 코드 디버그 - Visual Studio (Windows)

필요한 구성 단계, 보안 및 문제 해결을 포함해서 Visual Studio를 사용하여 원격 Linux 컴퓨터에서 실행 중인 Python 코드를 디버그합니다.

learn.microsoft.com

결국 리눅스 머신에 직접 접근해서 작업하려면 visual studio code를 써야 된다.

얼른 visual studio도 code와 같은 기능이 생겼으면 좋겠다!! 일해라 MS!!!!!

그럼 이제 시작해보자.


  • vsc를 설치한다.

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

  • 설치 후 확장 기능을 눌른다음 remote라고 입력하면 remote ssh가 나올 텐데 install을 눌러 준다(나는 이미 설치를 했기 때문에 다른 설치 후 화면이다)

  • 좌측 하단에 보면 모니터 모양의 아이콘이 생성되었는데 누른 다음 + 키를 눌러 접속할 리눅스 머신을 추가한다(나는 이미 설치를 했기 때문에 원격 접속할 머신이 등록된 화면이다)

  • ssh 접속할 머신의 유저명@원격지 주소를 입력한다(기본으로 port는 22를 사용한다)

  • 앞으로 접속 시 참조할 config를 선택하라는 화면이 나온다.(중간에 cjh는 내 머신 유저명이다.)
  • 나는 default로 첫번째것을 선택 했다. 나중에 이 경로를 기억했다 폴더에 입력 후 config 파일을 세팅해줘야 하니 적어두자.

  • 실행 후 자동으로 접속이 진행될 건데 실패가 날 거다.
  • 왜냐면 나의 경우 linux를 putty에 연결 시 인증 키 방식으로 접속하고 있는데 visual studio code는 인증키 설정이 안 되어 있기 때문에 접속 에러가 나는 거다.
  • 인증키를 입력하기 위해 아까 생성된 config 파일을 연 다음 IdentityFile C:\pem파일 경로\파일명.pem 를 입력한다

  • ssh에 저장된 원격 주소를 더블클릭해서 다시 접속하면 접속이 성공한다(안된다면 위에서부터 다시 차례대로 해보길 바란다)

  • 화면 왼쪽 상단에 파일들이 겹친 이모티콘을 누르면 Open Folder이 나오는데 눌르면 원격 리눅스 서버의 폴더 경로들이 나오고 원하는 폴더 경로를 선택하면 폴더에 포함된 모든 폴더와 파일들이 탐색기로 나오면서 작업을 할 수 있다.