본문 바로가기
개발/Backend

개인용 WSL2를 서버처럼 쓰기

by 아르카눔 2025. 8. 25.

데스크탑을 서버처럼 사용하려고 윈도우의 원격 데스크톱 접속 (RDP)를 하려다가 실패해서,

 

과거에 우분투에 SSH 접속을 구현했던 것 처럼 WSL2에 접속할 수 있게 세팅했다.

 

WSL2의 가장 큰 특징은 마치 외부 IP에서 포트포워딩으로 내부 IP에 연결하는 방식처럼 데스크톱의 윈도우에 접속한 것을 다시 WSL2의 Linux OS에 연결해준다는 점에 있다. 

 

 

SSH로 WSL2에 접근하기

 

이 블로그 (링크)를 따라서 수행했다.

 

1. WSL2에 설치된 OS (본인은 Ubuntu, 24.04 LTS)에 open ssh를 설치해서 서버를 시작한다.

 

2. 비밀번호 접속과 Public and Private Keys 접속 두 가지가 있는데 우선 비밀번호 접속으로 서버 접속을 확인 한 다음, 

키를 통한 접속으로 변환한다. Git을 써본 적이 있다면 그때와 동일하게 ssh keygen으로 만드는 과정을 수행하면 된다.

 

3.  이때 chmod 권한의 설정에 문제가 있었는데 권한 소유자의 문제였다. 위키독스의 한 페이지 (링크)를 따라서 chown로 소유자를 변경하고 다시 chmod로 변경해서 해결했다.  

 

4. 방화벽을 열고 포트포워딩을 설정한다. 참고로, WSL2에서 localhost로 서비스를 열 때, 열리지 않는 문제가 생기는 경우가 있는데 동일하게 포트포워딩을 설정하면 해결된다. 

 

5. 외부에서 접속하기 위해서는 각자의 인터넷 공유기에서 설정을 변경해서 포트 포워딩을 해준다.

 

 

 

ssh를 sudo service ssh restart할 때 socket에 문제가 있는 경우가 있는데 이때는 이 블로그 (링크)에 나온 코드로 해결했다. 

 

systemctl로 명령해주면 해결된다. 

 

 

 

SSH 서버의 자동시작의 경우 이 블로그 글 (링크)를 참고했는데, 막상 생각해보니 데스크탑에서 WSL을 실행할 때 마다 서버를 실행하는게 비효율적인듯해서 그냥 별도로 필요할 때 켜주기로 결정했다.

 

 

 

예전에는 윈도우 7과 우분투 듀얼 부팅으로 서버처럼 사용했었는데 지금은 많이 편해졌다 싶다.

 

그리고 이전에는 비밀번호로 접속했는데 AWS 서버에 접속할 때 pem을 사용하는게 편했던 기억이 있어서, ssh key를 사용하도록 세팅했다.

 

매번 접속할 때 마다 비밀번호를 입력할 필요가 없다. 

 

보안의 측면에서도 ssh key 방식이 비밀번호를 들킬 위험이 없어서 더 안전하다고 한다. 

 

 

 

처음 구성하는 사람을 위한 팁

 

VS Code나 Cursor 등으로 .ssh 폴더 내의 config를 이용해서 SSH Host를 이용해서 접속하는 경우가 많다.

 

이때, 설정을 바꾸어도 접속이 실패하는 경우가 있는데 이때는 known_hosts를 지우고 다시 접속하면 된다. 

 

그리고 위 방법으로는 접속이 안 되는데 ssh -p 22 user@your_server_ip 명령어를 통해서 터미널로 접속이 된다면,

 

클라이언트쪽의 문제일 확률이 높으니 그쪽으로 알아보면 된다.