Post

[서버 구축] 남는 노트북 WSL을 개인 딥러닝 서버로 세팅하기

[서버 구축] 남는 노트북 WSL을 개인 딥러닝 서버로 세팅하기

⚪ Intro

본격적인 딥러닝 과제를 하기에 앞서 Colab만으로는 한계가 느껴져서 로컬에도 하나 쯤은 GPU가 있어야 할 것 같다고 판단이 들었다. 그래서 놀고 있던 노트북에 gtx 1650이라는 귀여운 그래픽카드가 있는데 이 친구라도 공부에 활용하기로 했다.

그래서 오늘은 내 노트북(WIN11 + WSL2)을 로컬 딥러닝 서버처럼 만들어서
데스크탑 VSCode에서 SSH로 접속하고, 실험도 할 수 있게 설정해봤다.

처음엔 그냥 Remote-WSL 쓰면 되는 줄 알았는데, 내가 원하는 건
노트북을 완전한 원격 서버처럼 쓰는 거였고, 결국 SSH 서버 세팅부터
JupyterLab 원격 접속까지 거의 하루를 갈아넣어버렸다…ㅜ


⚙️ 시스템 구성

항목세부 내용
🖥️ 노트북Windows 11 + WSL2 (Ubuntu 24.04)
💻 데스크탑Windows 11 + VSCode (Remote-SSH)
🌐 네트워크동일 공유기 하위 (192.168.0.x 대역)
🔌 접속방식SSH + 포트포워딩 (port 2222)

🚀 전체 과정 요약

1. WSL2에서 SSH 서버 설치 및 시작

1
2
sudo apt update && sudo apt install openssh-server
sudo service ssh start

2. Windows 포트포워딩 설정 (PowerShell 관리자 권한)

1
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=22 connectaddress=127.0.0.1

✅ 이걸 안 하면 외부에서 WSL에 접근할 수 없음!

3. VSCode에서 Remote-SSH 연결 설정

1
2
3
4
5
# ~/.ssh/config (데스크탑 기준)
Host my-wsl
    HostName 192.168.0.9
    Port 2222
    User soohyun

→ VSCode에서 Remote-SSH: Connect to Host → my-wsl 선택

4. SSH 무비번 접속 (공개키 기반)

1
2
ssh-keygen -t ed25519 -C "soohyun@desktop"
ssh-copy-id -p 2222 soohyun@192.168.0.9

ssh-copy-id 안 되면 id_ed25519.pub 내용을 복사해서 노트북의 ~/.ssh/authorized_keys에 직접 붙여넣으면 됨

🔒 권한도 중요:

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

5. Conda 환경 구성 + 딥러닝 패키지 설치

1
2
3
4
5
conda create -n JSH python=3.10
conda activate JSH

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

6. JupyterLab 설치 및 원격 설정

1
2
3
pip install jupyterlab
jupyter lab --generate-config
jupyter lab password  # 브라우저용 접속 비밀번호 설정

설정 파일 수정 (~/.jupyter/jupyter_lab_config.py):

1
2
3
4
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8888
c.ServerApp.open_browser = False
c.ServerApp.allow_remote_access = True

7. 실행 및 접속

1
jupyter lab

접속 주소:

1
http://192.168.0.9:8888

브라우저에서 바로 접속 가능하고, VSCode 터미널에서 돌려도 됨!

🟣 오늘의 교훈

  • 만만하게 봤던 리눅스 서버 세팅으로 하루를 온전히 날려버림
  • 도대체 챗GPT가 없던 세상에서 리눅스 서버를 세팅하던 선배님들은 어떤 싸움을 해오신겁니까😨.. 이걸 일일이 다 공부하고 시도해보고 디버깅한다는건 불가능에 가깝지 않았을까……
  • 예전부터 느낀 점이지만 결국 개발 환경을 세팅하는 것도 하나의 과정⭐이고 실력이 되는 것 같다. 요리의 과정이 결국 설거지까지 포함되는 것처럼 말이다. 이번 기회에 SSH와 리눅스 서버에 대해서 더 공부가 되었길!
This post is licensed under CC BY 4.0 by the author.

© 2025 Soohyun Jeon ⭐

🌱 Mostly to remember, sometimes to understand.