WSLã®ã€ã³ã¹ããŒã«ãããå€éšããã®SSHç°å¢æ§ç¯ãŸã§ã®åå¿é²
ã€ã³ã¹ããŒã« ãããåèã«ããã 以åWSL1ãè§Šã£ãæã¯Microsoftã¹ãã¢ããã€ã¡ãŒãžãDLããæãã ã£ããšèšæ¶ããŠããããã³ãã³ãã ãã§ã€ã³ã¹ããŒã«ã§ããã Powershellã§ã®ã³ãã³ãïŒ wsl --install ããã ãã§Ubuntu20.04ãèªåã§ã€ã³ã¹ããŒã«ãããã ã€ã¡ãŒãžã®ç§»å ããã©ã«ãã§ã¯Cãã©ã€ãã«ã€ã³ã¹ããŒã«ãããã ãããåŸã ãã£ã¹ã¯å®¹éãéŒè¿«ããããšãç®ã«èŠããã®ã§ãå¥ãã©ã€ãã«ã€ã¡ãŒãžãç§»åãããã ãããåèã«ããã Fãã©ã€ãã«1TBã®SSDãå¢èšããã®ã§ãåºæ¬ããã®çŽäžã䜿ãããšã«ããã Powershellã§ã®ã³ãã³ãïŒ wsl --shutdown wsl --export Ubuntu F:Ubuntu.tar wsl --unregister Ubuntu wsl --import Ubuntu F:Ubuntu D:Ubuntu.tar --version 2 ãããè¡ãããšã§ãããã©ã«ããŠãŒã¶ãŒãrootã«ãªã£ãŠããŸãåé¡ãããã åºæ¬vscodeã®remote sshã§æ¥ç¶ããäºå®ãªã®ã§ããŸãåé¡ã¯ãªããããªã³ã¯ãåèã«ããŠãŠãŒã¶ãŒæš©éã§èµ·åããã·ã§ãŒãã«ãããäœæããã ãŸããåŸã æããã«ãªã£ãã®ã ããããã©ã«ãã®ã€ã¡ãŒãžã¯ãã£ã¹ã¯å®¹éã256GBãæå€§å€ãšããŠäœãããããã ã£ãã 容éãæ¡åŒµããããã«ãããã«åŸã£ãŠã³ãã³ããå®è¡ããã åäžLANããWSLã«SSHãã Ubuntuå ã§sshãµãŒãã¹ãç«ã¡äžããŠããå¿ èŠãããã ãããã詊è¡é¯èª€ããããèšæ¶ãå®ãã§ãªãããopen-sshã¯åãããã€ã³ã¹ããŒã«ãããŠããã ãªã®ã§éµãããŸãèšå®ãããŠãããããã°ãåäžLANã®å€éšããæ¥ç¶ã§ãããã ããåé¡ã2ã€ããã WSLã§ã¯systemdãåããŠãããããµãŒãã¹ãèªåã§èµ·åããããšãã§ããªãã WSL2ã§ã¯ãã¹ãã§ããWindowsãšç°ãªãIPã䜿çšãããŠãããçŽæ¥å€éšããæ¥ç¶ããããšãé£ããã ãã®ãã¡1. ã¯WSLãèµ·åãããšãã«ãªãã·ã§ã³ã§ã·ã§ã«ã¹ã¯ãªãããå®è¡ã§ããã®ã§ãããã§è§£æ±ºããã å ·äœçã«ã¯WSLå ã§init-wsl.shãšãã®ååã®ã¹ã¯ãªãããäœæããŠãããWSLèµ·åæã« wsl -d Ubuntu -u root exec /home/user/init-wsl.sh ãšããã°ãããinit-wsl.shã®äžèº«ãšã㊠#!/bin/sh service ssh restart service cron restart ãªã©ãšãèµ·åããããµãŒãã¹ã®ååãæžããŠããã ããã§sshãcronãªã©ã®ã³ãã³ããå®è¡ã§ããã ã€ãã«2. ã¯ãWindowsããŒã22ã«æ¥ããã±ãããwslã®ããŒã22ã«è»¢éããèšå®ã宿œããã for /F %%i in ('wsl -d Ubuntu exec hostname -I') do set ip=%%i netsh interface portproxy delete v4tov4 listenport=22 netsh interface portproxy add v4tov4 listenport=22 connectaddress=%ip% ãã®èšå®ã¯ãããç䌌ããã ããããWindowsãèµ·åããããã³ã«èªåã§å®æœããããã«ã ...