BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Site Reliability Engineering

VS Code로 Python 코드 원격 디버깅하기

by 화란 이 2022년 06월 20일
2022년 06월 20일
20

디버깅을 편리하게 수행하기 위해 보통 Visual Studio Code와 같은 코드 에디터를 사용합니다. 하지만 코드를 원격 서버에 배포한 후에는 어떻게 디버깅을 해야 할까요? 원격 서버에 VS Code와 같은 에디터가 설치되어 있지 않아도 디버깅 할 수 있는 방법은 없을까요?

이번 글에서는 매우 많은 사람들이 이용하는 VS Code에서 원격 서버에 있는 Python 코드를 디버깅하는 방법을 알아보려고 합니다.

원격 디버깅 시작하기

1. 확장 프로그램 설치

VS Code로 원격 디버깅을 하기 위해서는 우선 아래와 같이 ‘Remote Development’라는 확장 프로그램을 설치해야 합니다. 

아래 사진에서와 같이 Remote Development를 설치하면 관련 패키지인 Remote – SSH, Remote – Containers 등도 함께 설치됩니다.

2. 원격 호스트 접속을 위한 config 파일 작성

Remote Development 확장 프로그램을 설치한 후에는 원격 호스트 접속을 위한 config 파일을 작성해야 합니다. 이 config 파일은 보통 ~/.ssh 폴더 밑에 작성합니다.

그럼 아래와 같은 순서로 config 파일을 작성해보겠습니다. 단축키는 Windows 기준으로 설명하도록 하겠습니다.

1) ctrl + shift + p 를 입력하여 커맨드 팔레트를 엽니다.

2) SSH 호스트 구성…을 클릭합니다.

3) ~/.ssh/config 파일을 클릭합니다.

앞서 언급한 바와 같이 보통 ssh 관련 config 파일은 홈 경로 밑에 있는 .ssh 폴더 밑에 작성합니다. 별도의 경로를 원한다면 설정을 클릭하여 원하는 경로에 파일을 작성하면 됩니다.

4) config 파일에 원격 호스트 정보를 입력합니다.

위 사진과 같이 호스트 정보를 입력합니다.

  • Host – 호스트 구성에 대한 이름과 같은 역할을 합니다. 파일 저장 후 커맨드 팔레트를 열면 여기에 입력한 값이 나타납니다.
  • Hostname – 원격 호스트의 ip 주소나 도메인을 입력합니다.
  • User – 로그인하려는 원격 호스트의 사용자 이름을 입력합니다.
  • IdentityFile – .rsa, .pem 등의 크리덴셜 파일의 경로를 입력합니다. 만약 password 등 다른 정보를 사용해야 할 경우 PasswordAuthentication 등과 같은 옵션을 이용합니다.

5) ctrl + shift + p 를 입력하여 config 파일에 입력한 Host 값을 선택합니다.

config 파일을 저장한 후 ctrl + shift + p를 다시 입력하면 config 파일의 Host 값이 커맨드 팔레트 창에 나타나는 것을 확인할 수 있을 것입니다. 입력하신 Host 값을 클릭하면 새로운 VS Code 창이 열리면서 원격 호스트로 ssh 연결을 시도합니다.

만약 원격 호스트로 접속이 성공한 경우, 왼쪽 막대에 위치한 Explorer를 눌러 Open Folder를 눌러보면 원격 호스트에 있는 폴더를 탐색할 수 있는 창이 나타납니다. 여기까지 왔으면 원격 디버깅을 시작할 준비가 완료된 것입니다.

만약 터미널이 열리면서 ‘permission denied’ 등의 오류가 발생한다면 입력하신 IdentityFile에 문제가 있을 수 있습니다. 이 경우 파일의 접근 권한을 변경해줘야 하는데, 현재 로그인 중인 사용자 계정에만 해당 파일에 대한 접근 권한을 부여해주면 됩니다.

접근 권한을 변경하려면 해당 파일을 우클릭하여 속성 > 보안 > 편집 버튼을 순서 대로 클릭한 후 아래와 같이 해당 계정만 남기고 모두 제거해준 다음 다시 시도해 봅니다.

3. 원격 호스트용 확장 프로그램 설치

이제 원격 디버깅을 위한 모든 준비가 끝났습니다. 우리는 Python 코드로 테스트를 하고 있으니 원격 호스트에서 Python 코드를 디버깅 하기 위해 필요한 확장 프로그램을 설치하도록 하겠습니다. 

확장 프로그램은 로컬 환경에서 이미 설치했다고 하더라도 원격 호스트용으로 다시 설치해줘야 할 수 있습니다. 이 경우 아래 사진과 같이 ‘Install in SSH: test1’이라는 버튼이 활성화됩니다. 우리는 Python 코드를 디버깅할 예정이니 ‘Python’이라는 확장 프로그램을 설치하도록 하겠습니다.

4. 디버깅 시작하기

Python 확장 프로그램을 설치하면 로컬 환경에서와 같이 VS Code 에디터 오른쪽 상단에 디버깅을 수행할 수 있는 실행 버튼이 활성화됩니다. 디버깅이 필요한 지점에 브레이크 포인트를 걸고 디버그 모드 버튼을 눌러보면 브레이크 포인트 지점에서 브레이크가 잘 작동하는 것을 확인할 수 있습니다.

마치며

오늘은 VS Code에서 원격 서버에 있는 Python 코드를 디버깅하는 방법에 대해서 알아봤습니다. 디버깅은 프로그램의 완결성을 높이기 위해 반드시 필요한 작업입니다. 로컬 환경에서는 물론 배포 환경에서도 디버깅을 철저하게 하기 위해서는 출력문을 통해서 단순히 에러만 잡는 것이 아니라 문제가 되는 라인에서 다양한 변수 값들을 확인해보는 것이 중요합니다. 오늘의 글이 저와 같이 배포를 앞둔 시점에서 비슷한 고민을 하는 분들에게 도움이 되길 바랍니다.

관련

visual studio code debugvscode debugvscode remote developmentremote debugvscode pythonpython remote debugvscode python remote debugremote sshlinux debug원격 디버깅파이썬 원격 디버깅파이썬 디버깅vscode 원격 디버깅

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT