Close this search box.

How to Set Up and Use Surfshark on Linux?

We are reader supported and may earn a commission when you buy through links on our site. Learn more.

You can set up and use Surfshark on Linux by installing it manually or through the app, updating the Surfshark app, and setting it up.

Surfshark is a popular choice among Linux users thanks to its extensive network of 3200+ VPN servers worldwide, bulletproof encryption, and unlimited devices.

Here, I’ve explained in detail how you can set up and use Surfshark VPN on Linux distros.

Installing Surfshark on Linux

I will show you my two most convenient ways to install Surfshark on Linux.

There are two ways to do this. The easiest route is to install Surfshark VPN through a dedicated Surfshark Linux app.

However, if this method doesn’t work, the alternative is to establish a connection to Surfshark servers through a manual OpenVPN connection.

This method is slightly trickier but can come in handy if you can’t download and install Surfshark through the app directly.

Installing the App

Right off the bat, sign up for a Surfshark VPN account. You can get a huge discount here.

Once you have an account, follow these steps:

  1. Download the Surfshark installation package from this link.
  2. Click on the downloaded file and install the Surfshark repository.    
install surfshark for linux
  1. On your Linux device, open the Terminal through the apps menu or the keyboard shortcut Ctrl+Alt+T.
  2. Next, update the downloaded package by typing in the command sudo apt update and hitting enter.
updating linux packages
  1. Finally, complete the installation process by typing in the command sudo apt install surfshark and pressing enter.
installing surfshark package on linux

Manually Installing Surfshark Through OpenVPN

Since this method is slightly more complex than the previous one, we recommend exploring it only if you can’t download and install Surfshark VPN through the dedicated app. Here’s what you need to do:

  1. Start by opening the Terminal on your Linux device through the apps menu or using the Ctrl+Alt+T shortcut.
  2. Install the OpenVPN materials by typing in the command sudo apt-get install openvpn unzip and pressing enter.
installing openvpn on linux
  1. If a prompt requesting your password appears, type in your device password.
  2. Next, enter the OpenVPN directory by entering the command cd/etc/openvpn.
openvpn directory on linux
  1. At this stage, you’ll need to create a Surfshark account.
  2. To access the configuration files, type in the command:
					sudo wget https://account.surfshark.com/api/v1/server/configurations
get surfshark server configurations for linux
  1. Enter the command sudo unzip configurations to extract the configurations.zip files.
unzip surfshark configurations file on linux
  1. Finally, delete the .zip file since it’s no longer required, and you’re all set up.

Updating the Surfshark Application

Be it on Linux or other operating systems, Surfshark is designed to automatically check for newer updates. However, the process is simple if you want to update your Surfshark VPN for Linux manually.

You can update your Surfshark application by typing in the commands sudo apt update and sudo apt upgrade in the Terminal and hitting enter. Doing this will update the application to its latest available version.

update surfshark application on linux

Setting up Surfshark

You’re now just a few steps away from leveraging all the security benefits Surfshark offers for your Linux device. All that’s left to do is connect to the VPN.

Once again, there are two ways you can do this: through the GUI app or the Linux terminal. Here’s how.

Using the GUI App

Having to manually enter commands into the Terminal is an inconvenience that all Linux users encounter. To address this, Surfshark launched a fully-featured GUI application for Linux operating systems, which not many other VPN services offer.

While the GUI app is currently only supported on Ubuntu, it may also work with Kali Linux and other Debian-based distros. With the complete interface now available, Linux users can connect to the VPN in a matter of seconds by following these steps:

  1. Launch the Surfshark GUI application on your Linux device.
  2. Select a server of your choice from the server list or click on the Quick Connect option, and you’re all set.
surfshark linux app

You can also choose from a few different VPN protocols, namely WireGuard and OpenVPN UDP/TCP.

Via the Linux Terminal

If your Linux distro doesn’t support the Surfshark GUI app or you can’t connect to the VPN using the above method, you can go the standard route and run Surfshark through the Terminal.

To do so, follow these steps:

  1. Open the Terminal by navigating through the apps menu or using the shortcut Ctrl+Alt+T.
  2. Type in the command sudo surfshark-vpn and hit enter.    
sudo surfshark-vpn on linux
  1. When the prompt appears, type in your device root user’s password to enable Surfshark to establish and manage the VPN tunnel.
  2. Next, type in the email address used to create your Surfshark account and hit enter.
  3. Enter your Surfshark account password.
  4. You’ll then see a list of Surfshark server locations, each identified by the number next to it.
surfshark server locations
  1. To select a server, type in the number next to it into the Terminal and hit enter.
selecting a vpn server location on linux
  1. You’ll then see two VPN protocols: UDP and TCP, each identified by the number next to it. You can select one by typing in the number next to it and hitting enter.
select vpn protocol on linux
  1. Your Linux device is now connected to the VPN.

The Benefits of Using Surfshark on Linux

Unlimited Number of Devices

With VPN providers, the limited number of devices you can use with a single account is always a concern. Surfshark, however, allows you to establish a connection on multiple devices simultaneously with just one subscription.

So, you can secure all your Linux devices with a single Surfshark subscription!

An Airtight No-Logs Policy

The whole point of using a virtual private network is to ensure greater privacy, but that becomes moot if the VPN service provider keeps tabs on you.

Here’s where Surfshark can save the day with its airtight no-logs policy, ensuring your privacy remains unbreached. What’s more, you also get an added layer of security thanks to Surfshark’s 100% RAM servers.

Unbreakable Encryption

VPN encryption is key in preventing your internet traffic from being accessible to spies. Surfshark is among the few VPN providers using a military-grade AES-256-GCM encryption protocol, which is unbreakable and provides lightning speeds.

Support for WireGuard on Linux

Besides the OpenVPN UDP/TCP protocols, Surfshark also offers the WireGuard protocol on Linux—the newest tunneling protocol that has quickly become the talk of the town because of its lightning speeds.

WireGuard also uses top-of-the-line cryptography, so security concerns are out of the question.

Why Is Surfshark Linux Not Connecting?

Surfshark Linux may sometimes encounter problems establishing a connection.

This could be due to the chosen server experiencing certain issues, the network port used by the VPN protocol being blocked on the network you’re using, certain applications running on your device interfering with the VPN connection, or having the IPv6 protocol enabled.

Here are a few things you can do to fix the issue:

Try a Different Surfshark Server

Surfshark VPN servers sometimes run into issues that may prevent you from establishing a connection with that server. If this is what’s preventing Surfshark from connecting on your Linux device, changing the server will fix the issue right away.

Try a Different Connection Protocol on Surfshark

VPN protocols make use of specific network ports to establish connections.

If Surfshark can’t connect to a server, it may be because the network port is blocked on the network you’re currently using.

Try all the available protocols on Surfshark, OpenVPN TCP/UDP, and WireGuard, and see if that helps establish a connection.

Disable Potentially Interfering Apps

Certain apps running on your Linux devices, such as a different VPN application or an antivirus program, can potentially prevent Surfshark from being able to connect.

Disable all such apps and try connecting to Surfshark again.

Disable the IPv6 Protocol

Since Surfshark doesn’t support the IPv6 VPN protocol, having it enabled on your network can make it difficult for Surfshark to connect to a server.

If enabled, disable the IPv6 protocol and try connecting to Surfshark VPN again to see if it fixes the issue.

Set a Custom DNS on Surfshark

Setting a custom DNS on Surfshark VPN can often enhance speeds and fix an unstable connection. Try doing this to see if it resolves the issue.

Interesting Reads:


There is a Surfshark Linux kill switch that safeguards your traffic against sudden connection drops and consequent information leaks. The kill switch instantly turns off the internet connection on your device if the VPN connection drops.

The internet connection is restored once you’ve reconnected to a VPN server, thereby protecting your data.

Final Thoughts

So, this is how you set up and use Surfshark on Linux. You can now leverage this to secure all your Linux devices and reap the countless benefits of Surfshark.

If you value your online privacy and wish to keep your data uncompromised, get a Surfshark subscription today!

Surfshark logo
Get a juicy 86% discount!
** For Limited Time Only **
💥 Exclusive April Discounts 💥
PrivateVPN logo
Surfshark logo
Surfshark logo
Our partner, Surfshark, offers an exclusive discount for a limited time! Don't miss out on the chance to save extra money.
Or Try Surfshark for FREE