Nacho

[window/wsl2] ssh로 WSL 외부 연결 하기 본문

Toys

[window/wsl2] ssh로 WSL 외부 연결 하기

Nacho_13 2024. 12. 17. 15:22
반응형

 

쉿..!

 

 

모델 학습을 위해 형의 컴퓨터를 ssh로 연결해서 gpu를 빼다 쓰는 발칙한 생각을 하였다...

 

 

 

 

우선 많은 시행착오가 있었다...

이런식이다.

 

그림과 같은 과정을 통해 wsl에 외부 접속을 할 수 있다.

 

대충 보고 마지막에 다시보면 이해가 될 것이라 믿는다.

 

우선 wsl2가 설치되었다는 가정하에 포스팅을 이어가겠다.

 

WSL2에서 ssh 실행

ssh server 설치

sudo apt update
sudo apt install openssh-server

 

sshconfig 수정

sudo nano /etc/ssh/sshd_config

 

nano를 실행하여 수정을 진행

Port 22 # wsl 에서 사용항 port 번호 (변경 가능)
ListenAddress 0.0.0.0
PubkeyAuthentication yes 
PasswordAuthentication yes

# 주석 해제 및 작성

 

nano에서 작성 후 ^(control) X 후 Y 그리고 enter로 빠져나오면 된다.

 

 ssh 시작

sudo systemctl start ssh

 

 ssh 확인

sudo systemctl status ssh

 

active 가 나오면 실행되고 있는 것..

 

 

WINDOWS 에서 포트포워딩 

 

포트포워딩을 위해서 우선 wsl의 ip 주소를 알아야 한다.

 

wsl에 ip addr 명령어를 사용하여 ip 주소를 찾는다.

 

나의 경우에는 172.27.1.191로 나타나는 걸 볼 수 있다. ip 주소는 컴퓨터가 재시작될 때마다 변경된다.

 

이제 powershell로 넘어가서 포트포워딩을 해준다.

 

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=<원하는 port> connectaddress=<WSL ip address> connectport=<WSL port>

 

listenport 에는 공유기 포트포워딩을 통해서 열어둔 port를 입력한다.

connectaddress 에는 wsl의 ip addr로 찾은 ip 주소 172.27.1.191을 입력

connectport는 wsl shhd_config에서 설정한 port 번호를 입력

 

대충 window 0.0.0.0 즉 로컬호스트 listenport에 접속을 시도하면 connectaddress의 connectport로 넘겨준다는 의미이다.

 

 

WINDOWS에서 접속 테스트

ssh <user-name>@<wsh ip address> -p <port>
# ssh root@172.27.1.191 -p 22

 

연결이 되면 우선 ssh 서버가 접속이 잘 되는 것이다. 

 

WINDOWS 방화벽 인바운드 규칙 생성

window 방화벽 고급 설정에서 인바운드 규칙을 하나 생성한다.

 

 

그리고 왜인지 모르겠지만 나의 경우

 

 

파일 및 프린터 공유(에코 요청 - ICMPv4-In) 이 설정을 켜줘야 연결이 됐다.

 

 

외부(mac)에서 WSL 연결

 

이제 대망의 접속 시간이다.

 

먼저 자신이 사용하는 공유기의 설정 사이트에 접속해서 원하는 port 번호를 포트포워딩한다. 

-> 이 port로 mac에서 접속을 시도 것이다. -> 위 powershell에서 포트포워딩 listenport와 같은 port이다.

 

공유기 포트포워딩은 사용하는 공유기마다 구글에 많은 정보가 이미 포스팅되어 있다... 잘 찾아보세요..

 

 

이제

ssh <user-name>@<ip address> -p <windows port>

 

ip address는 네이버에 "내 아이피" 검색하면 나오는 외부 ip 주소를 입력한다.

로 연결하면 끝..!

 

 

 

한눈에 보는 SSH 연결

이런식이다.

 

반응형