🔖
WSL2 2.0.x時代の外部PCからWSLに接続する方法
netshなんていらんかったんや
前回外部PCからWSLのSSHに接続するという記事を書いた。
その後すぐこの情報が古いことが分かった。。。
先日WSL2.0.0がリリースされその時の目玉?となっていたいくつかの新機能のうち、
外部からの接続に関するパラメータがあることをすっかり忘れていた。
(記事書いときながら何してんだか)
ということで前回の記事をアップデートする内容となっている。
ただし、Windows11以上が必要なので、
Wincows10の場合は前回の記事を参照のこと
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 本題はここから ↓-------------------
事前準備
Windows11 22H2以上が必要
WSLのバージョンを2.0.14以上にしておく
powershell
wsl --update
wsl --version
WSL バージョン: 2.0.14.0
.wslconfigに以下の項目を追加
~/.wslconfig
[wsl2]
・・・
networkingMode=mirrored
クライアントPCに疎通確認
疎通確認用のツールを入れて、
疎通できないことを確認しておく
powershell
winget install Insecure.Nmap
ターミナルを再起動してPathを通しておく
ポート22の状態を確認すると
nmap 192.168.1.32 -p 22
PORT STATE SERVICE
22/tcp filtered ssh
ポート22は filtered
で解放されていないということがわかる
ファイヤーウォールのポート開放
ファイやウォールの設定は今回も必要
WindowsPCにはWindows Defenderというセキュリティツールが入っているが、
外部から接続する際にポートを開ける必要がある。
GUIツールでも可能だが、
ここではコマンドで実行
管理者権限のあるPowershell上で行う
powershell
New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort 22 -Action Allow -Protocol TCP
New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort 22 -Action Allow -Protocol TCP
参考:
再度疎通確認
疎通設定ができたので外部PCから疎通確認してみる
nmap 192.168.1.32 -p 22
PORT STATE SERVICE
22/tcp open ssh
ポート22は open
で解放されていることがわかる
SSHで接続
ではSSHでサーバーPCに接続してみる。
ssh user@192.168.1.32
Last login: Tue Feb 6 23:37:09 2024 from 172.18.160.1
[user@DESKTOP-xxxxx ~]$
('Д') つながったわ
netshについて調べた時間を返してくれ。。。
Discussion