お世話になります。
WSL2向けに 22 ポートのフォワードをするため、下記のps1ファイルを作りました。
powershell
1$IPAddress = (Get-NetIPAddress | Where-Object {$_.SuffixOrigin -eq "Dhcp"} | Select-Object 'IPAddress').IPAddress 2$WSLIPAddress = wsl -d Ubuntu-18.04 exec hostname -I 3 4netsh.exe interface portproxy delete v4tov4 listenport=22 5netsh.exe interface portproxy add v4tov4 listenport=22 listenaddress=$IPAddress connectaddress=$WSLIPAddress
最上位特権で実行し、ルールが追加されていることも確認しました。
cmd
1C:\WINDOWS\system32>netsh.exe interface portproxy show all 2 3ipv4 をリッスンする: ipv4 に接続する: 4 5Address Port Address Port 6--------------- ---------- --------------- ---------- 7192.168.1.121 22 172.21.119.236 22
この状態でssh 192.168.1.121 すると弾かれました。
cmd
1C:\WINDOWS\system32>ssh 192.168.1.121 2ssh: connect to host 192.168.1.121 port 22: Connection refused
一度ルールを削除したあと、変数を利用せずIP決め打ちをするとフォワードされます。
cmd
1C:\WINDOWS\system32>netsh.exe interface portproxy reset 2 3C:\WINDOWS\system32>netsh.exe interface portproxy add v4tov4 listenport=22 listenaddress=192.168.1.121 connectaddress=172.21.119.236 4 5C:\WINDOWS\system32>netsh.exe interface portproxy show all 6 7Listen on ipv4: Connect to ipv4: 8 9Address Port Address Port 10--------------- ---------- --------------- ---------- 11192.168.1.121 22 172.21.119.236 22
※ フィンガープリントが変わったみたいですが、SSHのフォワードはできています。
cmd
1C:\WINDOWS\system32>ssh 192.168.1.121 2@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ 4@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
netsh の実行に変数は利用できないんでしょうか?
もしくは、powershellの変数の特性が関係しているんでしょうか?(例えば、型のような・・・)
ハマり続けて困っています。
お力添えよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー