WSL2に別ホストからssh接続・X11Forwarding

WSL2ネットワーク開発環境

モチベーション

  • 2019年11月時点で、WindowsでWeb開発するときはWSL2環境に閉じこもっている

    • localhostへのX11Forwarding常用
  • リモートワークで職場からWindows PCを持ち帰った
  • 普段遣いのPCから作業したい
  • 他ホストからのWSL2へのssh接続・X11Forwardingを試してみよう

ネットワーク

20191110094333

Windows Host1の設定

Windows-> WSL2のポートフォワーディング

参考

  • WSLのIPアドレス取得
# WSL2 bash
ifconfig eth0 | grep 'inet ' | awk '{print $2}'
  • 起動するたびに変わる
172.27.108.139
  • ポートフォワーディングの設定
# Windows PS(管理者権限)
netsh interface portproxy add v4tov4 listenport=22 connectaddr=172.27.108.139 connectport=22
netsh interface portproxy show v4tov4
  • 任意のホストからWindowsの22ポートへのアクセスを、WSLの22ポートにフォワーディング
ipv4 をリッスンする:         ipv4 に接続する:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
*               22          172.27.108.139  22

sshの設定

参考

  • sshdの設定

WSL2の/etc/ssh/sshd_config

- PubkeyAuthentication no
+ # PubkeyAuthentication no
+ PubkeyAuthentication yes
  • 設定反映
sudo service ssh restart
# systemctlは使えない
  • WindowsからWSL2へ鍵搬送する

    • ssh-copy-idコマンド等

ファイアウォールの設定

  • 受信22を開ける

    • Windows Host2からWindows Host1への疎通で必要

Windows Host2からSSH接続・X11Forwarding

  • Puttyなどで

20191110091304

20191110091315