For example, you might want to print to a network printer without exposing that printer to the public Internet. The first case for this is to sidestep or enhance security. The basic idea is that you connect to a remote computer on another network and it makes it look like all your network traffic is local to that network. You can pay for a service, of course, but if you have ssh access to a computer somewhere on the public Internet, you can set up your own VPN service for no additional cost. In reality, though, there are two main reasons you might want a VPN connection. The application communication is thus secured, without having to modify the application or end user workflows.If you see a lot of banner ads on certain websites, you know that without a Virtual Private Network (VPN), hackers will quickly ravage your computer and burn down your house. The server then connects to the actual application server - usually on the same machine or in the same data center as the SSH server. The SSH client then forwards the application over its encrypted tunnel to the server. With tunneling enabled, the application contacts to a port on the local host that the SSH client listens on. The SSH connection is used by the application to connect to the application server. This SSH connection is encrypted, protects confidentiality and integrity, and authenticates communicating parties. The secure connection over the untrusted network is established between an SSH client and an SSH server. SSH tunneling enables adding network security to legacy applications that do not natively support encryption. This means that the application data traffic is directed to flow inside an encrypted SSH connection so that it cannot be eavesdropped or intercepted while it is in transit.
It also provides a way to secure the data traffic of any given application using port forwarding, basically tunneling any TCP/IP port over SSH.
SSH is a standard for secure remote logins and file transfers over untrusted networks. It can also be used to implement VPNs (Virtual Private Networks) and access intranet services across firewalls. It can be used to add encryption to legacy applications. SSH ( Secure Shell ) tunneling is a method of transporting arbitrary networking data over an encrypted SSH connection.