9-1. VS Code에서 SSH로 Ubuntu 컨테이너 원격 접속하기

Synology NAS에서 Docker로 개발 환경을 구축했다면 VS Code로 원격 접속해 개발하는 것이 가장 효율적입니다. 이 글에서는 VS Code Remote SSH를 사용해 NAS 내부 Ubuntu 컨테이너에 접속하는 전체 과정을 단계별로 정리합니다. Django 개발 환경 구축을 위한 필수 단계이므로 정확하게 따라 하면 손쉽게 셋업할 수 있습니다.


1. 왜 VS Code SSH 접속을 사용해야 할까?

일반적으로 Docker 컨테이너는 터미널로만 작업할 수 있습니다.
하지만 VS Code SSH 연결을 적용하면 다음 기능이 활성화됩니다.

  • 코드 수정과 서버 설정을 한 화면에서 진행 가능
  • Git, Docker, Python 등 확장 기능 활용
  • Django, Gunicorn, Nginx 설정이 훨씬 간편해짐
  • 로컬 PC에서 NAS를 완전한 개발 서버처럼 활용

즉, 개발 생산성이 크게 향상됩니다.


2. 사전 준비 사항

필수 조건:

  1. Synology NAS에서 SSH 활성화
    DSM → 제어판 → 터미널 및 SNMP → SSH 서비스 활성화
  2. NAS 계정 비밀번호 확인
  3. 개발 PC에 VS Code 설치
  4. VS Code 확장 기능 설치
    • Remote Development
    • Remote SSH

확장은 VS Code 좌측 Extensions 메뉴에서 검색 및 설치합니다.


3. NAS에 SSH 접속 테스트

먼저 PC에서 접속이 되는지 확인합니다.

Windows 기준:

ssh yourname@NAS_IP -p 22

예시:

ssh admin@192.168.0.10

접속이 잘 된다면 다음 단계 진행.


4. VS Code에서 SSH 연결 설정

VS Code 실행 후 좌측 하단 → 녹색 Remote 아이콘 클릭
Remote-SSH: Connect to Host 선택

SSH 설정 파일에 SSH 접속 정보를 추가합니다.

예시 설정:

Host synology
    HostName 192.168.0.10
    User admin
    Port 22

저장 후 적용하면 바로 연결됩니다.


5. Ubuntu 컨테이너로 이동하기

중요 포인트:

  • SSH는 NAS 자체로 접속하는 것이 핵심
  • Docker 컨테이너에는 docker exec 명령으로 진입

접속 후 터미널에서 다음을 실행:

sudo docker ps

컨테이너 ID 확인 후:

sudo docker exec -it 컨테이너ID bash

이제 Ubuntu 컨테이너 내부에 접속한 상태가 됩니다.

즉,

접속 구조는 다음과 같습니다:

개발PC
→ SSH
→ Synology NAS
→ docker exec
→ Ubuntu 컨테이너 내부


6. VS Code 내에서 편하게 컨테이너 접근하기

추가로 다음 확장을 설치하면 더 편합니다:

  • Dev Containers
  • Docker

VS Code에서 컨테이너를 선택하면 내부 파일 시스템을 바로 열 수 있어 Django 코딩까지 즉시 진행 가능합니다.


7. 보안 주의사항

외부 접속을 계획한다면 필수 설정:

  1. 공개키 기반 SSH 인증 적용
  2. NAS 루트 계정 직접 접속 금지
  3. 방화벽에서 SSH 포트 제한

보안 문제는 항상 가장 먼저 고려해야 합니다.


마무리

이번 단계에서는 Ubuntu 컨테이너 접근을 위한 개발 환경 연결 과정을 완료했습니다.

완료한 작업결과
SSH 활성화NAS 접근 가능
VS Code Remote SSH 설정GUI 기반 원격 개발 가능
docker exec 컨테이너 접속Django 서버 준비 가능

이제 컨테이너 내부에서 Django, Python, 의존 패키지 설치가 가능하며, 앞으로 Gunicorn + Nginx 연동까지 진행할 계획입니다.

댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.