はじめに
WSL2内のUbuntuにSSH接続する方法を紹介する。今回は、WSLのネットワークはミラーモードとし、簡単に接続設定できるようにする。
動作確認環境
- Windows 11
- WSL
wsl --version WSL バージョン: 2.6.1.0 カーネル バージョン: 6.6.87.2-1 WSLg バージョン: 1.0.66 MSRDC バージョン: 1.2.6353 Direct3D バージョン: 1.611.1-81528511 DXCore バージョン: 10.0.26100.1-240331-1435.ge-release Windows バージョン: 10.0.22631.5909- Ubuntu 22.04
前提条件
- Windowsには、SSHサーバーをインストールしない
- WindowsのOpenSSH Serverとポート 22 が競合するため(入れるなら WSL側は別ポートに変更)
- WSLのネットワーク設定はミラーモードとする
- ミラーモードとは
- WSL内のUbuntuのネットワークはホストのWindowsと同じになるネットワークの設定
- ミラーモードとすることで、ポートフォワーディングなどの設定が不要となり設定が簡単になる
- ミラーモードとは
- WSL内にUbuntu22.04がインストールされている
方法
WSLの設定
「WSL Settings(Linux用Windowsサブシステム設定)」を開いて、「ネットワーク」から以下を設定する。
- ネットワークモード
-
Mirroredを選択する
-
- Hyper-Vファイアウォールが有効
-
オフにする
補足
Hyper-Vファイアウォールを完全にオフにしないで、個別にポートを許可する方法もあるが、今回は簡単に設定を行うためにオフにする。セキュリティを強化したい方は個別にポートを許可する方法を推奨する(詳細はこちらを参照)。 -
WSLが起動している場合はシャットダウンする。
wsl --shutdown
C:\Users\{username}\.wslconfigの設定が変更されていることを確認する。
コマンドプロンプトやPowerShellを開いて、以下のコマンドで確認できる。
cd C:\Users\{username}
cat .\.wslconfig
以下のようになっていれば成功。
[wsl2]
networkingMode=Mirrored
firewall=false
WSL内のUbuntuの設定
Ubuntu22.04を起動して、SSHサーバーをインストールする。
sudo apt update
sudo apt install openssh-server
SSHの自動起動設定をする。
sudo systemctl enable --now ssh
sudo systemctl status ssh
ファイアウォールの設定
Windowsで利用しているファイアウォールの設定で、ポート22の受信を許可する。
Windows Defenderファイアウォールの場合
Windowsセキュリティの「ファイアウォールとネットワーク保護」から「詳細設定」を押して「セキュリティが強化されたWindows Defenderファイアウォール」を開く。
「受信の規則」-「新しい規則」からポート22の受信を許可する設定を追加する。
以下のように設定して次へを押す。
以下のように追加されていれば成功。
別PCから接続確認
UbuntuでIPアドレスを確認し、別のPCからそのIPアドレスへ接続確認する。
ssh username@{ip_address}
- username: WSL内のUbuntuのユーザー名
【オプション】WSL2の自動起動
Windows起動時に、WSLを自動起動したい場合に設定する。色々やり方はあるが、簡単な方法としてWindowsスタートアップで設定する方法を紹介する。
WSL内のUbuntuの実行ファイルは以下に保存されている。
%userprofile%\AppData\Local\Microsoft\WindowsApps\
Ubuntu22.04の場合は以下が実行ファイルのパスとなっている。
%userprofile%\AppData\Local\Microsoft\WindowsApps\ubuntu2204.exe
上記フォルダに移動して、起動したいUbuntuなどのディストリビューションのショートカットを作成する。
ubuntu2204.exeのショートカットを作成する場合は、実行ファイルを右クリックして、「その他のオプションを確認」を押す。
「送る(N)」-「デスクトップ(ショートカットを作成)」を押してショートカットを作成する。
ショートカット作成時に、「実行時の大きさ(R):」を「最小化」にしておくとWSLの自動起動時にターミナルが邪魔にならないので設定しておくと良い。
デスクトップに作成されたショートカットファイルを以下のスタートアップフォルダに入れて設定完了。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
まとめ
WSL2内のUbuntuにSSH接続する方法を紹介した。今回は、WSLのネットワークはミラーモードとし簡単に接続設定できることを確認できた。簡単にWSL内のUbuntuにアクセス可能となるので試してみてほしい。
参考









