WSL에서 SSH 서버 설정 및 LAN 환경에서 접속하기
이 글에서는 Ubuntu (WSL) 환경에서 SSH 서버를 설정하고, Windows 시스템에서 포트포워딩과 방화벽 설정을 통해 LAN(Local Area Network) 내에서 SSH 접속이 가능하도록 설정하는 방법을 포스팅하려고 합니다.
1. WSL에 SSH 서버 설치 및 설정
1-1. SSH 서버 설치 및 방화벽(UFW) 설정
WSL에 SSH 서버를 설치하고, 방화벽을 설정한다.
# 패키지 업데이트 및 SSH 서버 설치
sudo apt update
sudo apt install openssh-server
# UFW(방화벽) 설치 및 설정
sudo apt install ufw
sudo ufw allow 22/tcp # SSH 포트 허용
sudo ufw enable # 방화벽 활성화
# SSH 서비스 시작
sudo service ssh start
1-2. SSH 설정 파일 수정
SSH 설정 파일을 수정하여 접속 설정을 변경한다.
sudo vim /etc/ssh/sshd_config
아래 내용을 참고하여 설정을 변경한다.
Port 22 # SSH 포트 번호
ListenAddress 0.0.0.0 # 모든 IP 주소에서 연결 허용
PasswordAuthentication yes # 비밀번호 인증 활성화
AllowUsers user1 user2 # 허용할 사용자 지정
수정 후 SSH 서비스를 재시작합니다.
sudo service ssh restart
2. 사용자 계정 생성
SSH 접속이 가능한 사용자를 생성한다.
여기서 생성한 사용자가 접속하려면 sshd_config에서 AllowUsers에 추가해주어야 한다!
# 사용자 생성
sudo useradd -m -s /bin/bash user1
sudo useradd -m -s /bin/bash user2
# 비밀번호 설정
sudo passwd user1 sudo passwd user2
3. Windows 포트포워딩 및 방화벽 설정
Windows에서 WSL의 SSH 서버로 연결을 포트포워딩하기 위해 PowerShell을 관리자 모드로 실행하여 설정한다.
3-1. 포트포워딩 설정
다음 명령으로 Windows의 네트워크 포트를 WSL SSH 서버로 연결한다.
# 포트포워딩 설정
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=@@@.@@@.@@@.@@@
위 명령에서 connectaddress는 WSL의 내부 IP 주소입니다. 본인의 환경에 맞게 수정하세요. IP 주소는 WSL에서 ip addr 명령으로 확인할 수 있습니다.
3-2. 방화벽 규칙 추가
SSH 통신을 허용하기 위해 방화벽 규칙을 추가합니다.
# 방화벽 규칙 추가
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 22
New-NetFirewallRule -DisplayName "SSH-OUT" -Direction Outbound -Action Allow -Protocol TCP -LocalPort 22
4. 설정 확인
4-1. WSL에서 확인
WSL에서 SSH 서버와 방화벽 상태를 확인합니다.
sudo service ssh status # SSH 서버 상태 확인
sudo ufw status # 방화벽 상태 확인
ss -tulnp # 포트 상태 확인
4-2. Windows에서 확인
Windows의 포트포워딩 설정을 확인합니다.
netsh interface portproxy show all
5. LAN 환경에서 접속
5-1. Windows IP 주소 확인
Windows에서 PowerShell 또는 명령 프롬프트를 열고 IP 주소를 확인합니다.
ipconfig
결과에서 LAN에 연결된 네트워크 인터페이스의 IPv4 주소를 찾습니다.
Wireless LAN adapter Wi-Fi:
IPv4 Address. . . . . . . . . . . : @@@.@@@.@@@.@@@
5-2. 다른 장치에서 SSH 접속
다른 장치에서 SSH 클라이언트를 사용하여 Windows IP 주소로 접속합니다.
ssh user1@###.###.###.###
위 설정들을 통해 WSL에서 SSH 서버를 실행하고, Windows의 포트포워딩과 방화벽 규칙을 설정하여 LAN 환경에서 SSH 접속이 가능하도록 구성할 수 있습니다!
'Dog-Honey-Tips' 카테고리의 다른 글
[Linux] 서버와 클라이언트 간 데이터 타입 (불 일치 및 고려 사항) (0) | 2024.12.02 |
---|---|
[Linux] 리눅스에서 기존 사용자 계정을 새로운 사용자로 복제하는 방법 (0) | 2024.12.01 |
[AWS] IAM 사용자 생성하기 (3) | 2024.10.13 |
[Obsidian] 코드 복붙 한 줄 생김/ 코드 복붙 줄 띄어짐 (해결방법) (4) | 2024.09.22 |