Escaping the Firewall with an SSH Tunnel Essay Example
Escaping the Firewall with an SSH Tunnel Essay Example

Escaping the Firewall with an SSH Tunnel Essay Example

Available Only on StudyHippo
  • Pages: 3 (723 words)
  • Published: December 7, 2016
  • Type: Case Study
View Entire Sample
Text preview

Previously, users found the concept of a regulated internet worrisome. However, our perspective has evolved with time. While an entirely unregulated and unrestricted internet may appear ideal, it is challenging for any central authority to effectively monitor. As a result, the internet continues to be fundamentally free but certain entities such as schools, workplaces, internet service providers, and even certain countries have started implementing access filters.

Many internet users are unaware that their web access is being filtered. However, for knowledgeable power users and advocates of personal freedoms, filtering, traffic shaping, and censorship are considered violations of basic human rights. Fortunately, by using a free program called PuTTY and employing SSH tunneling with SOCKS proxying, almost anyone can bypass their local firewall and enjoy an unrestricted internet experience. Interestingly, SSH

...

tunneling also provides the added security benefit of encrypting all data transmitted through one's local network and ISP, effectively preventing unauthorized surveillance of communications.

If you are unfamiliar with remotely administering a Unix/Linux-like server, you may not know about Secure Shell (SSH). SSH is a network protocol that enables encrypted communication between two computers, typically your computer and a remote server. It provides access to the command-line interface (CLI) on various computers like Mac OS X and Windows. SSH is commonly used for secure access to a remote computer's CLI, file copying, or creating an internet tunnel. In this tutorial, we will be using PuTTY, an SSH client, to access a remote CLI or establish a tunnel.

Tunneling

When you input a URL or click on a link, there are multiple stages that the request goes through before

View entire sample
Join StudyHippo to see entire essay

reaching the remote web server. It begins from your computer and passes through the local router and modem, then proceeds through your ISP's network before finally reaching the internet. At any point in this process, your request can be filtered. Filtering commonly occurs at either the local router (such as a school or corporate firewall) or at the ISP level (which may involve traffic shaping or government censorship). Tunneling is a technique that allows you to bypass both the local router, modem, and your ISP's network to connect directly to the internet. For example, if you are in China, using SSH tunneling to route all of your traffic through a computer in America can help you evade filtering and censorship imposed at a national level. The act of redirecting your web traffic through another computer, typically utilizing a different port, is known as SOCKS proxying. It is important to note that SOCKS proxying can be accomplished without SSH; however, it is less secure and more likely to be filtered by your local ISP.

Setting up a tunnel

This guide focuses on using PuTTY, a program exclusive to Windows. Mac and Linux users will find instructions tailored to their operating systems at the end of this guide. To begin, download PuTTY (putty.exe) and create a shortcut on your desktop or taskbar. Unlike other programs, PuTTY does not require installation. Next, find a remote Linux server that will serve as the endpoint for your SSH tunnel. You can choose a free server (which may require activation steps) or rent a low-cost virtual private server (VPS) for around $5 per month. This VPS can also

double as a development server or BitTorrent seedbox. In either case, you'll need an SSH account on the remote server along with its IP address and port number for connection. Once you've obtained these details, open PuTTY and enter them in the Host Name and Port fields while ensuring that SSH is selected as the Connection Type. Your configuration should resemble the example below:

To access the left-hand panel, navigate to Connection > SSH > Tunnels. In the Tunnels section, enter "8080" in the Source Port field and choose the Dynamic option. Click on Add and you will see "D8080" included in the Forwarded ports list.

To save your current session, go back to the Session at the top left panel and enter a name in the Saved Sessions box ("tunnel"). Click Save. To open a new window, click Open at the bottom of PuTTY. It will prompt you for your login name. Enter it and press Enter. Then, enter your password and press Enter.

An open SSH tunnel has been created successfully.

Get an explanation on any task
Get unstuck with the help of our AI assistant in seconds
New