I'm using SSH secure tunneling in order to connect to Oracle. The SSH agent is running on Linux Red Hat 9.2 and forwards local TCP/IP port to the remote Oracle listener. When the SSH agent is started (ssh -p ... -L port:remote_ip:port) the connection is ok. But I have to start the SSH in the background!
Yep, that's the way SSH works. If you need to have encryption for your SQL*Net connection, I'd take a look at the Advanced Security Option (ASO -- or whatever Oracle may have renamed it to lately) and configure encryption for your client and server. I've seen SQL*Net encryption with the ASO option work very well and it is relatively easy to configure.
If that option doesn't suit you, you might fish around for an SSH guru on a mailing list or newsgroup to give you some tips on starting an SSH tunnel at boot time via some scripting or some such thing.