[WSL2] Windows 11 WSL2 이용한 SSH & RStudio Server 설치 및 내·외부에서 접속

Windows 11 WSL2 이용한 SSH & RStudio Server 설치 및 내·외부에서 접속

Windows 11 내 WSL(Windows Subsystem for Linux)2 설치 후 이 WSL2에 다시 RStudio Server를 추가로 설치하고 내·외부에서 접속 가능하도록 하는 방법이다.

참고한 링크는 다음과 같으며 번호는 설치 순서 및 참고 순서로 이해하면 된다.

  1. 구글 검색: windows 11 wsl 설치
  2. Using RStudio Server in Windows WSL2
  3. WSL SSH 접속 세팅하기
  4. WSL2, 외부 네트워크와 연결하기
  5. wsl2를 이용시 localhost:port로 접근 오류
  6. 윈도우 10 WSL 자동 실행 방법
  7. [Windows] *.ps1 스크립트 실행하기

1, 2번 글 순서대로 설치 후 31, 4, 5번 글을 통해 아래와 같은 내용의 파워셀 스크립트 (확장자 .ps1) 파일을 원하는 폴더에 생성하되 본인은 wsl2-connect-external.ps1 이라 명명하고 생성했다.
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"
$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';

if( $found ){
$remoteport = $matches[0];
}else{
echo "The Script Exited, the ip address of WSL 2 cannot be found";
exit;
}

#[Ports]
#All the ports you want to forward separated by coma
$ports=@(8787,원하는PortNumber1,원하는PortNumber2,...);

#[Static ip]
#You can change the addr to your ip config to listen to a specific address
$addr='0.0.0.0';
$ports_a = $ports -join ",";

#Remove Firewall Exception Rules
iex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' ";

#adding Exception Rules for inbound and outbound Rules
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP";
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP";

for( $i = 0; $i -lt $ports.length; $i++ ){
$port = $ports[$i];
iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr";
iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport";
}

상기 파워셀 스크립트 파일 중 중요한 부분은 ‘원하는 PortNumber1원하는 PortNumber2 등 초록색으로 명기한 부분이여 이곳에 설정하려는 Port Number를 기입한다.

6번 글을 참고해서 자동 실행 방법을 아래와 같이 적용한다.

  • ‘Windows Key + R’ 실행 창에서 ‘shell:startup’ 입력 후 ‘확인’01 2022-06-11_163138.png

     

  • autostart_ubuntu.bat 파일 생성02 2022-06-12_104559.png

     

  • ‘autostart_ubuntu.bat’ 파일을 열어 아래와 같이 입력 후 저장
    @echo off
    wsl -u root -- service ssh start
    wsl -u root -- rstudio-server start

마지막으로 7번 글을 참고하여 Windows 기동 시마다 실행되는 WSL2의 유동 IP를 Windows가 기동되는 PC의 IP2와 자동으로 연결되도록 wsl2-connect-external.ps1 파일을 Windows 11 기동 시마다 실행하기 위해 ‘작업 스케줄러‘에 등록하는 작업을 아래와 같이 해준다.

  • ‘Windows Key + R’ 실행 창에서 ‘taskschd.msc’ 입력 후 ‘확인’03 2022-06-11_163044.png

     

  • 우상단 ‘작업 만들기…’ 클릭04 2022-06-12_111919.png

     

  • ‘일반’ 탭 ‘이름(M)’에 원하는 이름 입력, 본인의 경우 Elevated powershell executable program 입력
  • 좌하단 ‘가장 높은 수준의 권한으로 실행(I)’ 체크
  • ‘구성 대상(C)’ 콤보박스에서 ‘Windows 10’ 선택 후 확인05 2022-06-12_112402.png

     

  • ‘트리거’ 탭 선택 후 ‘새로 만들기(N)…’ 클릭
  • ‘작업 시작(G)’ 콤보박스에서 ‘로그온할 때’ 선택
  • ‘설정’ 영역에서 ‘특정 사용자(C)’ 선택 후 ‘확인’
    06 2022-06-12_112753.png

     

    경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
    어린이용이며, 설치가 필요없는 브라우저 게임입니다.
    https://s1004games.com

    07 2022-06-12_113028.png

     

  • ‘동작’ 탭 선택 후 ‘새로 만들기(N)…’ 클릭
  • ‘설정’ 영역 ‘프로그램/스크립트(P)’ 입력박스에 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 입력
  • ‘인수 추가(옵션)(A)’ 입력박스에 -noprofile -executionpolicy bypass -file D:\wsl2-connect-external.ps1 입력 후 ‘확인’
    08 2022-06-12_113950.png

     

    09 2022-06-12_114131.png

     

  • ‘조건’ 탭에서 ‘전원’ 부분 중 ‘컴퓨터의 AC 전원이 켜져 있는 경우에만 작업 시작(P)’ 체크 해제10 2022-06-12_114315.png

     

  • ‘설정’ 탭에서 ‘다음 시간 이상 작업이 실행되면 중지(K)’ 체크 해제 후 ‘확인’11 2022-06-12_114352.png

     

     

상기 작업까지 마치면 해야 할 작업은 다 끝난 셈이다. 마지막으로 재부팅하여 잘 작동하는지를 확인하면 되는데, 본인은 아래와 같이 외부에서 ssh 또는 RStudio Server 모두 잘 접속되는 것을 아래와 같이 확인할 수 있다.

12 2022-06-12_115903.png

 

13 2022-06-12_121548.png

 

 

※ 공유기 내 특정 PC와 연결하고 싶을 경우에는 공유기에서 Port Forwading 설정이 필요하다는 사실은 비밀!

Footnotes

  1. SSH 설치 시 참고
  2. 192.168.0.어쩌구

[출처] https://i-kiin.net/?p=4381

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
23 [C/C++ 인공지능] Artificial Neural Network C++ Class : 인공신경망 C++ 클래스 file 졸리운_곰 2023.11.25 308
22 [C/C++ 인공지능] Visual Studio 2019에서 LibTorch 사용하기 file 졸리운_곰 2023.11.20 392
21 [C/C++ 인공지능] A Simple and Complete Explanation of Neural Networks : 신경망에 대한 간단하고 완전한 설명 file 졸리운_곰 2023.10.22 279
20 [C/C++ 인공지능] Deep Learning from Scratch in C++: Tensor Programming file 졸리운_곰 2023.09.06 340
19 [C/C++ 인공지능] Getting Started with mlpack 졸리운_곰 2023.01.28 310
18 [C/C++][인공지능] Most Useful C/C++ ML Libraries Every Data Scientist Should Know file 졸리운_곰 2022.10.01 423
17 [인공지능] 추론 기법 file 졸리운_곰 2022.05.05 509
16 [C++ 인공지능] C ++을 이용한 단순 MLP 역 전파 인공 신경망 (단계 별) file 졸리운_곰 2022.04.11 370
15 [C/C++인공지능] An Introduction to Machine Learning Libraries for C++ file 졸리운_곰 2021.12.06 360
14 [C/C++][tensorflow 1.x] windows C lib : [Tensorflow] How to Install Tensorflow for C API file 졸리운_곰 2021.11.19 396
13 [C/C++][tensorflow] tensorflovw 1.x version 텐서플로우 C 예제 file 졸리운_곰 2021.11.19 544
12 [C/C++ 인공지능][linux][cuda] flashlight file 졸리운_곰 2021.11.09 506
11 [C/C++] (고전 기호 처리 인공지능) 전문가 시스템 file 졸리운_곰 2020.06.13 330
10 [유전알고리즘] 자동 그림생성 프로그램 - Evolving Image file 졸리운_곰 2018.03.04 910
9 대화 프로그램 - ELIZA 졸리운_곰 2018.03.04 360
8 Caffe 설치하기 ๑•‿•๑ (2) file 졸리운_곰 2018.02.21 337
7 Caffe 설치하기 ๑•‿•๑ (1) file 졸리운_곰 2018.02.21 427
6 Windows 에 Caffe 설치하기 (๑•‿•๑) 졸리운_곰 2018.02.21 306
5 Windows에서 Caffe 예제 돌리기 : MNIST(1) (๑•‿•๑) file 졸리운_곰 2018.02.21 356
4 Caffe 구성 요소들 알아보기: blobs, nets, layer, solver, prototxt ๑•‿•๑ file 졸리운_곰 2018.02.21 569
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED