I come from a Unix world and want to do ssh port forwarding ssh -L
on a Windows 10 machine.
I have a working solution with a python one-liner.
Now I wanted to ask the Powershell-users how to elegantly do this on pure powershell
$LOCALPORT=$(python -c "import socket; s=socket.socket(); s.bind(('',0)); print(s.getsockname()[1]); s.close()")
To give you some framing, it would run in a script like this:
$USER="USERNAME"
$REMOTEHOST="REMOTEHOST"
$LOCALIP=$(Get-NetAdapter -Name "WiFi" | Get-NetIPAddress).IPv4Address
$LOCALPORT=$(python -c "import socket; s=socket.socket(); s.bind(('',0)); print(s.getsockname()[1]); s.close()")
$REMOTEIP=ssh $USER@$REMOTEHOST "cat `$HOME/var/ip|cut -d`':`' -f1"
$REMOTEPORT=ssh $USER@$REMOTEHOST "cat `$HOME/var/ip|cut -d`':`' -f2"
Start-Job ssh -L $LOCALIP`:$LOCALPORT`:$REMOTEIP`:$REMOTEPORT $USER@$REMOTEHOST -N -v -v -v
sleep 5