Home Lab 구축기 (2): WSL 설정
최규민
2025년 6월 11일3 min read
지난 포스트에서는 포트 포워딩, IP 고정, DDNS 설정에 대해 알아봤습니다.
이제 Windows Subsystem for Linux, WSL을 설정할 시간입니다.
🐧WSL 설정
WSL; Window Subsystem for Linux란?

이 튜토리얼을 읽고 계신 분들이라면 WSL에 대한 기본적인 이해를 갖추고 계실 것이라고 생각하기 때문에, 위의 다이어그램으로 퉁치겠습니다😶
WSL 설치
Powershell을 열고 아래와 같이 입력합니다(관리자 권한으로 열어야 될 수도 있음).
wsl --install이러면 Ubuntu의 최신 버전이 설치됩니다. 특정 버전을 원한다면 아래 커맨드를 입력하세요.
wsl --install -d <배포판명>앞으로 우리는 wsl 터미널, 즉 우분투 터미널을 사용할 것입니다.
윈도우키를 누르고 ubuntu를 검색하거나, 파워쉘에서 wsl을 타이핑 하여 실행하면 됩니다.
SSH 세팅
openssh-server 설치
sudo apt update
sudo apt-get install openssh-server포트 번호 설정
sudo nano /etc/ssh/sshd_config을 이용해 nano 에디터로 sshd_config 파일을 엽니다.
이후 Port를 찾아, 포트 포워딩에 설정한 내부 포트로 변경합니다.

PubkeyAuthentication yes도 설정해줍시다.
설정을 마쳤다면 ctrl+o로 저장하고, ctrl+x로 nano를 나가면 됩니다.
openssh-server 설정
openssh-server의 시작/상태확인/종료 커맨드는 아래와 같습니다.
sudo service start
sudo service status
sudo service stopsudo service로 제어가 되지 않는다면, Ubuntu 22.10 이후 SSH가 socket-based-activation으로 바뀌었기 때문일 것입니다.
이렇게 되면 sudo systemctl 커맨드를 통해 제어해야 하는데, WSL2는 이 방식이 완전히 지원되지 않을 수 있다고 합니다. 따라서 아래 커맨드를 이용해 기존의 service 방식으로 전환해줍시다.
sudo systemctl disable --now ssh.socket
sudo rm -f /etc/systemd/system/ssh.service.d/00-socket.conf
sudo rm -f /etc/systemd/system/ssh.socket.d/addresses.conf
sudo systemctl daemon-reload
sudo systemctl enable --now ssh.service이제 다시 서버를 시작하면
sudo service start
sudo service status이런 식으로 나오면 성공입니다! 🥳
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-06-03 18:14:44 KST; 24min ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 7190 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 7192 (sshd)
Tasks: 1 (limit: 9472)
Memory: 3.7M (peak: 20.1M)
CPU: 224ms
CGroup: /system.slice/ssh.service
└─7192 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"sudo 비밀번호 없애기
추가로 ssh 서버 관련 커맨드 사용 시, start와 stop은 sudo를 사용해야 합니다. sudo는 비밀번호를 요구하는데, 추후 불편해질 수도 있으니 이 설정을 꺼줍시다.
sudo visudo
# 파일 끝에 추가 (your_username을 실제 사용자명으로 변경)
your_username ALL=(ALL) NOPASSWD: /usr/sbin/service ssh start, /usr/sbin/service ssh statusssh 서버 자동 실행 설정
딥러닝 서버(데스크탑)가 켜질 때마다 자동으로 ssh 서버가 함께 실행되도록 설정해줍시다.
원래 이 설정은 대부분의 블로그에서 windows에서 .bat 파일을 시작 프로그램 폴더에 넣어주는 것으로 설정합니다.
그러나 이 포스트에서는 더욱 간단한 방법을 소개하겠습니다.
먼저 systemd를 활성화 합니다.
sudo nano /etc/wsl.conf이후 아래와 같은 내용을 추가해줍니다.
[boot]
systemd=truectrl+o를 통해 저장, ctrl+x를 통해 nano 편집기를 빠져나온 뒤, 아래 커맨드를 입력합니다.
sudo systemctl enable ssh이제 데스크탑이 부팅 될 때마다 자동으로 ssh 서버가 실행됩니다.
(점검) net-tools 설치
sudo apt update
sudo apt-get install net-toolsSSH포트가 열려 있는지 확인하기 위해 아래 커맨드를 사용합니다.
sudo netstat -tlnp | grep :{포트 번호 숫자만 입력}tcp 0 0 0.0.0.0:{포트} 0.0.0.0:* LISTEN 303/sshd: /usr/sbin
tcp6 0 0 :::{포트} :::* LISTEN 303/sshd: /usr/sbin이런 식으로 나오면 성공입니다.
다음 포스트에서는 Windows 설정을 알아보겠습니다🤗
Series · Home Lab 구축기
2 / 5편