This is a python program that helps me to manage the SSH tunnels that I use regularly for secure remote connectivity to my office and home networks. The standard Ubuntu repository already contains a program for managing tunnels, but it did not meet my requirements, so I used this as an opportunity to learn PyGtk programming.
The program allows you to maintain a configuration of commonly used dynamic, local, and/or remote SSH port-forwarding tunnels. Once configured, the tunnels can be started and stopped with simple mouse clicks, or even auto-started when the program is launched. Both SSHv1 and SSHv2 tunnels are supported. SSHv1 support was the main issue that drove me to write my own program.
If you are using key-based SSH authentication for all of your tunnels (you are, aren't you? if not, then why not?), you can register your SSH keys with the tunnel manager, too. The keys can be loaded or unloaded with simple mouse clicks, or even auto-loaded when the program is launched. This means of managing the key agent is another big advantage for me over the existing alternatives.