For example, type ~^Z to put a session in the background.
Similarly, type ~~ to send an escape sequence in an inner session, etc...
There's a program called SSH to get to another CPU.
Tilde is the escape, it's doubled to send it through,
And "quit" is tilde-.
I think you know how the rest goes...If you have an ACM subscription, the sheet music was published in Communications of the ACM (Volume 27, Issue 4; April 1984): http://dl.acm.org/citation.cfm?id=1035691
Specifically, the escape sequence is "\n~", with various options (visible by typing "\n~?"), and if the option is unknown it passes the "\n~{x}" as-is.
The biggest false positive you'll see is "\n~v", when executing bins out of the home dir of a user starting with the letter 'v'.
You can also type "<cr>~?" for a list of other commands supported by the local ssh client. Among other things, "<cr>~C" opens a command line interpreter on the client side of the ssh client, allowing you to add and remove TCP port forwarding without restarting the connection.
You log in, type "rz<enter>", and then use escape sequence to upload a file. (similar for downloading)
The patch was rejected. Shame. It's very useful when hopping 6 steps to upload a file.[1]
I can't find the patch now, but I'm considering rewriting it as a an `expect` script. My `expect` scripts tend to have trouble with SIGWINCH propagation though, so not optimal. Also you have to remember to wrap with the `expect` script at (and preferably only at) the one "jump" you want to send from/to with the final destination.
[1] No, nothing illegal. Just that some networks mandate SSH jumpgates, and sometimes multi-level.
\n~~. will escape the 2nd box you've SSH'd to, not the one it was originated from.
Useful for escaping a screen'd SSH session that you might access through a jumphost.