코딩스토리/개발관련

VS Code를 사용한 파이썬 SSH 원격 개발 환경 설정 및 pem 파일 권한 관련 오류 해결 방법

Tech&Fin 2023. 11. 17. 15:15
반응형

목차 - 클릭하면 이동합니다.

    파이썬 원격 개발 with VS Code

    프로그램을 개발 할 때 보통은 자신의 PC, 즉 로컬 환경에서 개발 및 테스트를 진행하고 개발이 어느정도 완료되면 서버에  배포하여 실행을 하게 되는데요. 간혹 개발 자체를 원격 환경에서 하는게 더 편한 경우도 있습니다.

     

    원격 개발은 VS Code 나 파이참 같은 개발 툴은 자신의 로컬 PC에서 사용하지만 소스는 서버에 있는 소스를 직접 수정하면서 개발 하고 실행도 직접 서버에서 하는 것을 말합니다.

     

    파이참의 경우 프로페셔널 버전을 사용하면 원격 개발이 가능하지만 학생이나 교사 email이 없으면 지불해야 하는 비용이 조금 비싼 편이라서 무료로 사용할 수 있는 VS Code를 사용해서 파이썬 원격 개발 환경을 만들어 보려고 합니다.

    환경 설정

    VS Code 설치

    먼저 아래 링크를 통해 VS Code를 설치해 줍니다. 윈도우즈나 Mac 버전 모두 가능합니다.

    https://code.visualstudio.com/

     

    Visual Studio Code - Code Editing. Redefined

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

    code.visualstudio.com

    SSH 환경 설정

    View > Command Pallette... 혹은 Ctrl + Shift + P를 눌러 Command Pallette를 열여 줍니다.

     

    ① Command Pallette 에서 Remote-SSH: Connect to Host를 검색하여

    ② Remote-SSH: Connect to Host...를 클릭합니다.

     

    Configure SSH Hosts 를 선택합니다.

     

    제일 첫번째 나오는 사용자 폴더 아래의 .ssh/config 폴더를 선택합니다.

     

    - Host : 관리하는 호스트의 이름입니다. 원하는 호스트명을 아무것이나 입력합니다.

    - HostName : 서버의 IP를 입력합니다.

    - User : 서버에 로그인 하는 ID를 입력합니다.

    - IdentityFile : Private Key의 위치를 입력합니다.

     

    서버 접속

    다시 Command Pallet (Ctrl + Shift + P)에서 Remote-SSH: Connect to Host를 누르면 조금전에 등록한 호스트 명이 보이게 됩니다. 해당 호스트명을 클릭하여 접속합니다.

     

    새로운 VS Code 창이 열리고 Remote Connection 을 할 Platform을 선택하라고 나옵니다. 저의 경우는 Oracle Cloud를 이용해 만든 Linux 서버에 접속을 할 예정이기 때문에 Linux를 선택하겠습니다.

     

    접속을 하려고 하니 Private Key가 보호되지 않아서 접속이 불가하다고 에러가 발생했습니다. 이는 Private Key의 권한 관련 오류로써 리눅스에서는 chomd 400을 통해 파일의 권한을 조정해 줘야 하는데 윈도우에서도 비슷한 작업을 해 주어야 할 것 같습니다.

     

    ① Private Key 파일을 탐색기로 찾아가서 우클릭 한 후 속성을 클릭하여 나오는 창에서

    ② 보안 탭을 클릭하고 ③ 고급 버튼을 클릭한 후 ④ 상속 사용 안함을 클릭합니다.

     

    "이 개체에서 상속된 사용 권한을 모두 제거합니다." 를 클릭합니다.

     

    ① 추가 버튼을 클릭하고 ② 보안 주체 선택을 클릭하여 ③ 윈도우 로그인 사용자 이름을 검색하여 입력하고 ④ 확인 버튼을 클릭합니다.

     

    정상적으로 권한이 부여 되었는지 확인 합니다.

     

    다시 접속을 시도하면 이번에는 passphrase를 물어옵니다. Private Key에 걸어 놓은 암호를 입력합니다.

     

    왼쪽 하단에 "SSH: 호스트명"이 보이고 원격 접속이 완료 되었습니다.

     

    ① Explorer를 선택한 후 ② Open Folder를 클릭합니다.

     

    서버에서 작업하고자 하는 폴더를 선택하면 passphrase를 한번 더 물어보고 입력하면 위와 같이 서버의 파일을 직접 컨트롤 할 수 있게 됩니다. 또한 파일을 실행하게 되면 로컬 환경이 아닌 서버에서 실행됩니다. 즉 서버의 IP를 가지고 실행되는 것이기 때문에 API Key 같은 경우도 서버의 것을 이용하면 됩니다.

     

    마치며

    이번 시간에는 파이썬을 VS Code를 이용해 원격 개발하는 방법을 알아보았는데요. 과정중에 Private Key의 Permission이 중요하다는 사실 또한 다시 한번 알게 되었습니다.

     

    로컬 환경에서 충분한 테스트를 하고 서버에서 실행하는 것이 안전한 방법이지만 상황이 여의치 않아 서버에서 직접 개발을 해야 하는 경우 활용하면 좋을 것 같습니다.

     

    VS Code는 무료이고 간편하지만 아주 파워풀한 기능을 가지고 있고 다양한 플러그인이 있어 향후 개발 도구로 활용하면 좋을 것 같네요.

     

    블로그를 구독하시면 소식을 조금 더 빨리 받아보실 수 있습니다. 감사합니다.

    반응형