Have you taken a look at OpenVPN?
http://openvpn.net
It uses SSL for authentication and an encrypted tunnel.
In a nutshell, it:
"...supports flexible client authentication methods based on
certificates, smart cards, and/or username/password credentials, [ed: or pre-shared keys] and allows user or group-specific access control policies using firewall rules applied to the VPN virtual interface."
I have used it to connect 4 branch servers to a central corporate server using pre-shared keys.
It can be a bear to configure, but the results are worth it. Once you develop a template configuration file for your site, it's pretty trivial to change it to add new connections.
Check it out. I love it!
BTW - Episode 19 of the SecurityNow! podcast is all about OpenVPN and why it's so great, but also why it can be confusing to configure. Steve Gibson is working on some step-by-step configuration guides for OpenVPN, so expect those soon.
http://www.grc.com/securitynow.htm