본문 바로가기

troubleshooting

윈도우 서버(wsl2) 접속을 위한 설정

집에 있는 데스크탑을 쿠버네티스 환경으로 만들어 보려고 한다.

 

쿠버네티스(minikube)를 설치하기 전, 외부에서 서버 컴퓨터로 접속할 수 있는 설정을 해야 한다.

 

오늘은 그 과정을 담은 포스팅이다.

 

원격으로 wsl 2접속하기

 

방법은 간단하다. 윈도우 방화벽 설정 + wsl2로의 포트포워딩을 해주면 된다.

 

우선, powershell을 실행시켜, wsl2와 Ubuntu를 먼저 설치해주자.

wsl --install

# wsl 기본 버전 변경
wsl --set-default-version 2

# wsl 버전 확인
wsl -l -v

 

우분투는 mircrosoft Store에서 간단하게 설치가 가능하다.

 

 

이제 우리는 외부에서 어디로 접속해야 할 지 확인을 해야 한다.

 

공인 IP주소를 확인해 보자.

 

네이버에서 ip주소 확인만 검색해도 나의 공인 IP를 확인할 수 있을 것이다.

 

나의 경우에는 해당 PC가 공인 IP를 할당받은 경우이기 때문에, (모뎀 랜선과 연결) 공인 IP로 내 PC에 접속이 가능할 것이다.

 

 

그리고 WSL 호스트 주소를 확인해보자.

hostname -I

 

 

그러면 우리는 외부에서

공인 IP ->  윈도우 -> WSL2 이렇게 접속을 하면 된다.

 

 

우선, SSH 접속을 위한 SSH 설치를 진행하고, ssh service를 활성화 해야 한다.

apt update -y && apt upgrade -y

sudo apt install openssh

service ssh start

 

sudo vi /etc/ssh/sshd_config

 

해당 파일에서 Port부분 주석을 제거하고, 원하는 포트로 변경을 해준다. (default: 22 / 보안을 위해 변경)

 

 

 

이제, 윈도우 -> wsl 포트포워딩을 설정해주자.

netsh interface portproxy add v4tov4 listenport=$listen_port listenaddress=$public_ip connectport=$connect_port connectaddress=$wsl_host_ip

 

각각의 IP, Port 부분에 알맞게 IP주소와 포트를 설정해주자.

 

 

 

마지막으로, 방화벽 인바운드 규칙을 설정해주자.

 

탐색기 -> 방화벽 상태 확인 -> 고급 설정 -> 인바운드 규칙 -> 새 규칙 -> 포트

 

규칙을 생성한 후에, 해당 규칙이 활성화 되어 있는지 확인!

 

 

 

이제 마무리 되었다.

 

 

 

만약 ssh key pair를 발급받고, 해당 key를 이용하여 접속하고 싶다면, 서버 컴퓨터에(wsl2) ssh keygen을 이용하여 키 쌍을 발급 받은 후에, .pub 키를 이용하여 외부에서 접속하면 되겠다!

 

username은 ubuntu에서 생성한 user를 사용하면 된다.

# ssh 키 발급 (rsa는 옵션 -t rsa)
ssh-keygen

#public key를 이용한 접속
ssh -i public_key_path username@ip