WSL Ubuntu 24.04 SSH/SFTP 서버 구성 가이드
WSL(Windows Subsystem for Linux) Ubuntu 24.04에서 SSH 및 SFTP 서버를 구성하는 방법을 안내합니다.
1. SSH 서버 설치 및 기본 구성
# OpenSSH 서버 설치
sudo apt update
sudo apt install openssh-server -y
# SSH 서버 상태 확인
sudo service ssh status
2. SSH 설정 파일 수정
sudo nano /etc/ssh/sshd_config
주요 설정 항목:
Port 22
ListenAddress 0.0.0.0
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
3. SSH 서버 시작 및 관리
WSL에서는 systemd 대신 service 명령 사용:
# SSH 서버 시작
sudo service ssh start
# SSH 서버 재시작
sudo service ssh restart
# SSH 서버 중지
sudo service ssh stop
4. SFTP 서버 구성
SSH 설치 시 SFTP는 기본 포함됩니다. /etc/ssh/sshd_config에서 확인:
Subsystem sftp /usr/lib/openssh/sftp-server
SFTP 전용 사용자 설정 (선택사항)
# SFTP 전용 그룹 생성
sudo groupadd sftpusers
# SFTP 전용 사용자 생성
sudo useradd -m -G sftpusers -s /usr/sbin/nologin sftpuser
sudo passwd sftpuser
# Chroot 디렉토리 설정
sudo mkdir -p /home/sftpuser/uploads
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo chown sftpuser:sftpusers /home/sftpuser/uploads
sshd_config에 추가:
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5. Windows 방화벽 및 포트 포워딩
PowerShell(관리자 권한)에서 실행:
# 방화벽 규칙 추가
New-NetFirewallRule -Name "WSL SSH" -DisplayName "WSL SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
# WSL IP 확인 후 포트 포워딩 (외부 접속 필요 시)
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=(WSL_IP)
WSL IP 확인:
ip addr show eth0 | grep inet
6. 자동 시작 설정
/etc/wsl.conf 파일 생성/수정:
[boot]
command="service ssh start"
또는 Windows 시작 시 실행되는 스크립트 생성:
wsl -u root service ssh start
7. 접속 테스트
# 로컬 SSH 접속
ssh username@localhost
# SFTP 접속
sftp username@localhost
8. 문제 해결
SSH 서버 시작 실패 시:
# 호스트 키 재생성
sudo ssh-keygen -A
# 로그 확인
sudo cat /var/log/auth.log
WSL 재시작 후 IP 변경 시:
포트 포워딩 규칙을 업데이트하는 스크립트를 만들어 사용하세요.
Tip: 키 기반 인증 설정이나 특정 보안 강화 설정이 필요하면 추가 구성을 진행하세요.