NOTE: For creating reverse tunnels, the best way is really to use OpenVPN in multi-client mode. It requires a little more setup than ssh-reverse-tunnel, but is a very robust solution.
ssh-reverse-tunnel allows you to set up tunnels so that you can connect to a computer which doesn't allow incoming connections. This is done by using a "server" computer which does accept incoming connections. The "client" which doesn't accept incoming connections connects to the server and sets up a reverse tunnel.
This package was tested on a system with the GNU Unix tools, please report if it works on other Unix systems.
The original documentation is the man page in the tarball.
The PDF or man page versions are preferred because the text version loses italics and bold fonts which are fairly important.