LoginSignup
5

リモートのWSL2へSSH接続

Last updated at Posted at 2022-09-08

概要

リモートマシン(Windows)で稼働するWSL2へローカルマシン(Mac)からSSH接続する。

環境

Machine

  • Win(リモートマシン)
    • Microsoft Windows 11 Pro Build 10.0.22000
    • WSL2 - Ubuntu-20.04
    • OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f 31 Mar 2020
  • Mac(ローカルマシン)
    • macOS 12.5.1 Build 21G83
    • OpenSSH_8.6p1, LibreSSL 3.3.6

Network

Mac(192.168.10.5)からWSL2(172.28.219.185)へSSH接続したい。

設定

Win

Windowsファイアウォールの設定

コマンドプロンプトを管理者として実行して、下記のコマンドを実行して、ファイアウォール規則を設定する。

netsh advfirewall firewall add rule name="WSL2" dir=in action=allow protocol=TCP localport=10022

home LAN側から192.168.10.10:10022へ接続できるようになる。

Windows Defenderファイアウォールの設定の確認

下記のコマンドを実行して設定を確認する。

netsh advfirewall firewall show rule name="WSL2" verbose

規則名:                               WSL2
----------------------------------------------------------------------
有効:                                 はい
方向:                                 入力
プロファイル:                         ドメイン,プライベート,パブリック
グループ:
ローカル IP:                          任意
リモート IP:                          任意
プロトコル:                           TCP
ローカル ポート:                      10022
リモート ポート:                      任意
エッジ トラバーサル:                  いいえ
インターフェイスの種類:               任意
セキュリティ:                         NotRequired
規則のソース:                          ローカル設定
操作:                                 許可

ポートプロキシの設定

コマンドプロンプトを管理者として実行して、下記のコマンドを実行して、ポートプロキシを設定する。

netsh interface portproxy add v4tov4 listenport=10022 connectaddress=172.28.219.185 connectport=22

192.168.10.10の10022ポートに接続すると、172.28.219.185の22ポートへフォワードされる。

ポートプロキシの設定の確認

下記のコマンドを実行して設定を確認する。

netsh interface portproxy show all

ipv4 をリッスンする:         ipv4 に接続する:
Address         Port        Address         Port
--------------- ----------  --------------- ----------
*               10022       172.28.219.185  22

Mac

fooは接続先(WSL2)のユーザ

~/.ssh/config
Host wsl2
     Hostname 192.168.10.10
     User foo
     Port 10022

WSL2

前提:sshdが起動している

接続

Macからssh wsl2を実行して、WSL2へ接続する。

残件

WSL2のIPアドレスは起動ごとに変わるので、上記の設定方法だと、netshでポートプロキシを設定し直す必要がある。自動設定のスクリプトなどで対応したい。

参考情報

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5