Create an SSH SOCKS Proxy with PuTTY: A Step-by-Step Guide
If you’re looking for a secure way to connect to remote networks or keep your network traffic confidential, using PuTTY as a SOCKS proxy is a fantastic choice. This approach opens up a new world of possibilities, forwarding network traffic through a secure SSH tunnel while utilizing the SOCKS protocol to offer a simple solution for applications to access the tunnel.
In this detailed guide, we’ll walk you through every step of setting up PuTTY as a SOCKS proxy, so you can start taking advantage of this powerful tool to protect your network traffic. Whether you’re a network administrator tasked with securing sensitive information, a security professional looking for the best ways to safeguard your data, or simply someone who values their privacy, this guide has everything you need to know to start using PuTTY as a SOCKS proxy with confidence.
Table of Contents
What is a SOCKS Proxy?
SOCKS is a protocol for transporting arbitrary TCP data via a proxy server. Unlike an HTTP proxy which only works for websites, SOCKS can also be used for games, instant messenger, or other applications. The proxy forwards this data for you, masking your IP address. This is useful for privacy or to bypass ISP restrictions. With a program like Proxifier, all running programs can be tunneled via a SOCKS Proxy, similar to using a VPN.
How does this compare to SSH Tunneling?
Setting up a SOCKS proxy is a more advanced type of SSH tunneling. The basic form of SSH tunneling was covered in a previous article. With basic SSH tunneling, it’s possible to forward network traffic from a local port on your computer to a specific port on a remote server. This allows you to use SSH encryption to access services hosted on the remote server, potentially bypassing firewalls and keeping your data secure in transmission.
Using PuTTy as a SOCKS proxy, by contrast, is similar to SSH tunneling in how it works, but uses the SOCKS proxy protocol to forward various kinds of traffic instead of rigidly forwarding traffic from one source to one destination. This allows you to set up SOCKS compatible applications like your web browser to use the locally available proxy port. Once you’ve done this, any traffic sent through the proxy will be forwarded to the remote server, which will then route the traffic to its final destination for you. This is helpful for secured access to a variety of networks and services that your server is able to reach that your computer cannot connect to, or if you simply want to encrypt your traffic. Due to the flexibility of SOCKS, this is possible without having to configure each application and network destination individually.
Overall, PuTTy’s SOCKS proxy functionality builds upon basic SSH tunneling, offering the same benefits, but with additional flexibility. This can make it much easier to use and configure, especially when you want to connect to a wider range of websites or services.
Follow these steps to set up PuTTY as a SOCKS proxy:
To use PuTTY as a SOCKS proxy, make sure your computer has PuTTy installed. You’ll also want the hostname or IP handy for the server you’ll SSH into to act as the proxy. You’ll need a valid login (username and password, or SSH key) for an account on that server.
- First, open PuTTy.
- For “Host Name” enter the domain name or IP address of the server that will act as the proxy.
- From the “Category” section on the left, scroll to “Connection” > “SSH” > “Tunnels”.
- Enter the local port you want to use for the proxy connection in the “Source port” field. A common choice is “8080”.
- Assuming you picked 8080 for the port, then enter “localhost:8080” (without quotes) as the destination. This tells PuTTY to listen to data sent to it on port 8080 from the same computer putty is running on, and forward it to the remote server.
- Where it says “Forwarded ports”, select “Dynamic”. This enables the SOCKS protocol.
- Now click “add”.
- Go back to the “Session” option in the left panel. Type in a name for this connection under the “Saved Sessions” text box.
- Now click the “Save” so you’ll be able to open the connection later without repeating these steps again.
- Almost done! Just click the “Open” button. When prompted, enter the username and password for your account on the remote server.
Once SSH connects successfully, you’ll be able to use the SOCKS proxy from any application configured to use it. You have to leave the PuTTy connection window open the entire time you want to use the proxy. Any network requests sent via this proxy will be encrypted and sent via SSH to the remote server, and from there on to its destination. This lets you to access remote networks securely using encryption, even over unsecured networks.
How to configure your browser to use the socks proxy
Now that the proxy is connected, you need to configure an application to use it. The most common application you’ll want to use for this is a web browser, so today we’ll show you how to set up Chrome to use your new SOCKS proxy. Many of these steps will be the same for other web browsers.
To configure Google Chrome to use your PuTTY SOCKS proxy, follow these steps:
- Launch your Chrome browser.
- Enter “chrome://settings” in the URL / address bar and hit Enter.
- Once the “Settings” page loads, scroll down to the bottom and click “Advanced”.
- Now click on the “Network” tab, and then click on “Change proxy settings”.
- The “Internet Properties” window will pop up. From here, click on “Connections”.
- From here, click “LAN settings”.
- This will open the “Local Area Network (LAN) Settings” window. Enable the checkbox “Use a proxy server for your LAN”.
- For “Address” and “Port”, enter the connection details you decided on earlier (e.g. “127.0.0.1” for address and “8080” for port).
- You’ll want to enable the “Bypass proxy server for local addresses” box, if it isn’t already.
- That’s it — just click “OK” to activate the proxy settings.
Now that you’ve set up these proxy settings, Chrome will start using the PuTTy SOCKS proxy whenever it tries to load websites. Please note that, for this to work, the PuTTY SOCKS proxy needs to be configured and connected, or else Chrome will be unable to load any websites. See earlier in this article for instructions on setting that up.
Congrats!
We’ve covered a lot of ground pretty quickly here today. First, we discussed the difference between a basic SSH tunnel and an SSH based SOCKS proxy. You went on to set up PuTTy to use an SSH connection to create a SOCKS proxy. To bring it all together, you we configured your Chrome browser to use this proxy. With these new skills at your disposal, you’ll be able to benefit from these powerful proxy tunnels, letting you access restricted or sensitive services securely, while encrypting your data as it travels across the internet.
Do you love servers?
We do! If you’re concerned about server security, or just want a home for your website or proxy, IOFLOOD can help. Our dedicated servers provide a secure and reliable environment for your applications, and our team is always happy to help with whatever questions you might have.
To learn more about our dedicated servers and how we can help you with your specific needs, contact us at sales[at]ioflood.com or visit our website at https://ioflood.com. Our team is ready to answer your questions and help you find the best server for your needs.