iSSH definitely works to create tunnels on a non-jailbroken iOS device, but you can still only keep it backgrounded for 10 minutes or so before it gets killed.
If you jailbreak, however, iSSH is just a luxury (I haven't found a client with a more useful keyboard) because you can just open a terminal and create a local tunnel from the command line all with just free stuff. There's something called AutoSSH in Cydia that is supposed to keep ssh sessions connected. It's not great, but there's not really anything else that does the job. That, combined with ShellScript Launcher, which lets you run scripts from SBSettings, will give you an easy way to start and kill your tunnel.
My StartTunnel script looks something like this:
killall autossh
sudo -u mobile autossh -M 3489 -f -g -N -T -L 3389:windowshost:3389 user@myjumphost
and the KillTunnel script is simply..
killall autossh
I use 2X Client and connect to localhost on whatever port I pick for the tunnel. My only complaint there is that the Ctrl key never works for me. Most other free RDP clients either lack the extended keyboard or configurability of resolution/color depth/etc.
port forwarding in this situation means sending data on a specific port to a specific ipaddress. look in putty if you have it sitting around your computer under the tunneling tab. – None – 2013-04-08T23:55:47.913
1this is required in tunneling so that the device doing the tunneling can open up a connection on itself. So, if tunneling into RDP is successful it should open port 3389 on localhost of the tunneling machine. then you would connect to localhost:3389 using an RDP-client so that the request is sent to the SSH tunnel then to the SSH server, then to the RDP-server. and vice-versa on the return. – None – 2013-04-09T00:09:36.297
why the downvote? – None – 2013-04-09T12:45:17.873
this looks promising... – None – 2013-04-09T20:52:15.477