wsl2にsshでアクセス

リモートデスクトップも良いのだが、画面データは重いのでwslを使うだけならsshの方が軽い。

1. systemdを起動

/etc/wsl.confファイルを作成し、下記を追加。

[boot]
systemd=true

PowerShellで下記を実行。

> wsl --shutdown

wslを起動。

2. WindowsファイアウォールTCP/22を開放

3. Windowsでポートフォワーディング

PowerShellの管理者モードで下記を実行。${ip_host}と${ip_wsl2}は、それぞれWindowsIPアドレスとwsl2のIPアドレス。 wsl2のIPアドレスは起動ごとに変わるので要注意。

netsh.exe interface portproxy add v4tov4 listenaddress=${ip_host} listenport=22 connectaddress=${ip_wsl2} connectport=22

上記コマンドで上手くいかない場合は、こっちを試してみるべし。

netsh.exe interface portproxy add v4tov4 listenport=22 connectaddress=${ip_wsl2}

4. SSHのインストール

$ sudo apt install ssh