윈도우가 시작되었을 때 기본적으로 wsl ssh 서비스는 자동으로 시작되지 않는다.
이를 스크립트를 통해 자동으로 시작시키도록 한다.
Win + R 키를 눌러 shell:startup
명령어 실행시키면 파일 탐색기가 실행되며 시작 프로그램 이라는 폴더가 나온다.
해당 폴더에 wsl_connect.bat
파일 생성
아래 내용 복사
(관리자권한을 획득한 뒤 파워쉘 및 bash 직접실행을 통해 ssh 및 기타 서비스를 실행시킴.)
@echo off
set uaccheck=0
:: Get Admin Permission
:CheckUAC
>nul 2>&1 "%SYSTEMROOT%\\system32\\cacls.exe" "%SYSTEMROOT%\\system32\\config\\system"
if '%errorlevel%' NEQ '0' (
goto UACAccess
) else ( goto Done )
:UACAccess
echo "Request to get admin permission"
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\\uac_get_admin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\\uac_get_admin.vbs"
"%temp%\\uac_get_admin.vbs"
del "%temp%\\uac_get_admin.vbs"
exit /b
:Done
echo "Success to get admin permission"
echo.
:: WSL port forwarding powershell script
powershell.exe C:\\Users\\HOME_NAME\\AppData\\wsl_connect.ps1
:: bash service start
"C:\\Windows\\System32\\bash.exe" -c "sudo service ssh start"
"C:\\Windows\\System32\\bash.exe" -c "sudo service nginx start"
"C:\\Windows\\System32\\bash.exe" -c "sudo service php7.2-fpm start"
exit /b
파워쉘 스크립트를
Win + R 키를 눌러 appdata
명령어 실행시키면 파일 탐색기가 실행되며 AppData 폴더가 나온다.
해당 폴더에 wsl_connect.ps1
파일 생성
해당 파일에 아래 내용 복사
열고싶은 포트를 $ports 변수의 리스트에 추가한다.