본문 바로가기

전자공학을 즐겁게/누구나 취미전자공학

원격으로 라즈베리 파이 코드 편집하기 - Visual Studio Code 활용

728x90
반응형

Visual Studio의 "Remote-SSH" Extension

VNC 접속을 통하여 라즈베리 파이(Raspberry Pi)에 원격 접속해서 데스크탑 환경을 사용하면 데스크탑 환경을 그대로 사용하기 때문에 편리하기는 합니다. 굳이 bash의 명령을 하나하나 타이프하는 경우가 줄어드니까요. 

그렇지만, 데스크탑 환경의 GUI를 필요로 하지 않는 코딩의 경우에는 굳이 데스크탑 환경까지 실행하는 것이 불필요하게 느껴집니다. 그렇다고, 데스크탑 환경 없이 코딩을 하려니 텍스트 콘솔 기반의 편집기를 사용하는 것이 여간 불편하지 않습니다. 내 PC에 있는 에디터로 라즈베리 파이의 프로그램을 직접 편집할 수 있으면 좋을 텐데 하고 생각하던 중에 "Remote-SSH"라는 이름의 Extension을 찾게 되었습니다.

 

https://www.youtube.com/watch?v=8ND7QXw6mNc

 

 

라즈베리 파이의 접속 상태 확인

"Remote-SSH"는 ssh 접속을 이용합니다. 당연히 네트워크 상에서 접속이 가능한 상태라야 합니다. 동일 subnet에 두 컴퓨터가 연결되어 있고 mDNS를 사용할 수 있는 환경이라면, 호스트 이름으로 바로 접속이 가능합니다. VNC 접속에서도 마찬가지였죠? 그렇지 않다면 IP 주소를 알아내어 IP 주소로 접속하게 됩니다. 

우선 연결하고자 하는 라즈베리 파이가 내 PC와 연결이 되는지 간단히 ping을 해 봅니다.

ping을 통해서 라즈베리 파이와의 네트워크 접속이 되어 있는지 확인합니다.

 

Extension의 설치

Visual Studio에는 굉장히 많은 Extension을 사용할 수 있습니다. Extension 탭에서 설치하거나 제거할 수가 있습니다.

왼쪽에 Extension 아이콘이 있습니다.

 

그냥 찾기가 어려울 수 있으니, 검색창에 "ssh"라고 입력을 해 보세요. "Remote-SSH"라는 Extension을 볼 수 있습니다. 설치(Install)를 클릭하면 바로 설치가 됩니다. "Remote-SSH" Extension은 Extension Pack이기 때문에 관련된 Extension을 함께 설치하게 됩니다.

Extension 탭에서 "Remote-SSH" Extension Pack을 설치할 수 있습니다.

 

SSH 접속

Visual Studio Code를 한 번이라도 사용해 보신 적이 있다면 Shift+Ctrl+P 또는 F1을 누르면 명령 팔레트(Command Palette)가 나타난다는 것은 알고 계실 것입니다.

"ssh"라고 입력하면 "Remote-SSH: Connect to Host..."라는 명령이 나타나는 것을 볼 수 있습니다.

"Remote-SSH: Connect to Host..."를 선택합니다.

 

이것을 선택하면, 접속할 Host를 선택하는 창이 나타납니다. 별도로 설정할 필요 없이 그냥 <username>@<hostname>.local 또는 <username>@<ip address>의 형식으로 입력을 해 주면 됩니다.

<username>@<hostname>.local 또는 <username>@<ip address>의 형식으로 적어 주세요.

 

모든 ssh 접속의 경우가 마찬가지지만, ssh 접속을 한 적이 없다면 host key를 저장하는 화면이 나타납니다. Continue를 눌러 진행을 하면 됩니다. 한 번이라도 이전에 성공적인 ssh 접속을 한 적이 있다면 이 화면 없이 바로 암호를 입력하는 화면으로 넘어갑니다.

Host Key를 저정할 때 나타나는 메시지입니다. Continue를 눌러 진행합니다.

 

암호를 입력하라고 나오면, 계정 암호를 입력해 주면 됩니다.

암호를 입력하세요.

 

코드의 편집

성공적으로 접속이 완료되면 왼쪽 아래에 접속된 호스트의 이름이 나타납니다.

왼쪽 아래에 접속된 호스트의 이름이 나타납니다.

 

Open Folder를 선택하여 편집을 합니다. 지금부터는 라즈베리 파이의 폴더에서 직접 작업하게 되는 것입니다. 선택한 폴더를 신뢰하는지 묻는 화면이 나타나는 것은 로컬에서 작업할 때와 동일합니다. 차이가 있다면, 호스트 이름과 폴더 이름을 함께 저장하는 것이 차이라면 차이입니다.

로컬에서 Visual Studio Code를 사용할 때에도 나타나는 폴더 신뢰에 대한 대화 상자가 나타납니다.

 

이제 로컬 폴더에서 작업을 하듯, 라즈베리 파이에서 파일을 새로 만들고, 코드를 편집하고, 실행시키는 것이 가능합니다.

Visual Studio Code에서 원격으로 직접 코드를 편집하고, 코드를 원격으로 실행시켜 볼 수 있습니다.

 

별도로 라즈베리 파이의 bash 터미널을 접속하기를 원한다면, 늘 하듯 ssh 접속을 하면 됩니다. Linux에서는 ssh 명령을 사용하고, Windows라면 PyTTY, TeraTeam 등의 프로그램이 ssh 접속을 지원합니다. ssh 접속에 대한 것은 "라즈베리 파이 셋업하기" 포스트를 참조하세요.

 

마치면서

라즈베리 파이를 이용해서 하드웨어 제어만을 하기 위한 환경이라면 데스크탑 환경보다는 Lite 환경이 더 적합합니다. VNC 접속은 라즈베리 파이 OS 데스크탑 환경인 경우에 매우 유용하지만, 라즈베리 파이 OS Lite인 경우에는 이용할 수가 없습니다. GUI를 이용할 수 없다면 텍스트 기반의 터미널에서 편집하고 실행하여야 하는데 여간 성가시지 않습니다, Visual Studio Code의 "Remote -SSH" Extension을 활용해서 원격으로 코드를 편집하고, ssh로 접속된 bash에서 코드를 실행시켜 보세요. 라즈베리 파이는 네트워크에 연결만 시켜 놓고, 마치 내 로컬 PC에서 작업하는 느낌이 들 것입니다. 이 방법은 비단 라즈베리 파이에만 사용할 수 있는 것은 아니고, 네트워크에 연결되어 ssh 접속을 허용하는 호스트라면 사용이 가능합니다. 예를 들면, Windows에 VirtualBox에 Unbuntu를 설치한 경우에도, Windows에서 ssh로 VirtualBox에 설치된 Ubuntu에 접속하여 파일을 편집할 수가 있습니다.

 

728x90
반응형