SSH Tunneling, is the ability to use ssh to create a bi-directional encrypted network connection between machines over which data can be exchanged, typically TCP/IP. This allows us to easily & securely make services available between machines with minimal effort while at the same time leveraging ssh for user authentication and encryption with little to no overhead. The icing on the cake is that you get encryption out of the box without any additional work on your application service side.
OpenVPN is the name of the open source project started by James Yonan. He set out to create a protocol for a VPN tunnel program that would be secure, free, fast, and would work on standard TCP and UDP protocols on the Internet. VPN stands for Virtual Private Network which allows to create a network that exists purely in software to connect computers over real networks securely by encrypting all of the data that’s being transferred. The encryption is so strong that it is secure to use an OpenVPN tunnel over the public Internet and still be assured that nobody can intercept the data in the VPN tunnel.