NordVPN is one of the few big VPNs with a proper Linux app, and it’s a command-line app first. That’s good news if you live in a terminal and slightly confusing if you don’t. This guide gets you from nothing to a working, kill-switch-protected connection in about ten minutes, on Ubuntu, Debian, Mint, Fedora or Raspberry Pi OS.
It’s also up to date with NordVPN 6.0 for Linux, released in October 2026, which renamed and removed several commands. If an old tutorial’s command just failed on you, that’s probably why.
Before you start
Supported systems. NordVPN’s official Linux install guide lists packages for Debian 12 or newer, Ubuntu 22.04 or newer, Linux Mint 21 or newer, Raspberry Pi OS and Fedora 43 or newer. Other distributions may work, but support is limited. For the graphical app, GNOME and KDE are the supported desktops.
An account. You need an active NordVPN subscription. The 1-year plan is $68.85 (about $5.74 a month), with a 60-day money-back guarantee.
curl or wget. Most distros have one of them already.
Step 1: install NordVPN
Command-line app
Open a terminal and run NordVPN’s install script:
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
If you don’t have curl, use wget instead:
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)
The script adds NordVPN’s repository and installs the package. Follow any prompts.
Graphical app
NordVPN also has a GUI app for Linux. Install it with the same script and the -p nordvpn-gui option:
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh) -p nordvpn-gui
Then open NordVPN from your applications menu. The rest of this guide uses the command line, because it works the same on every distro and over SSH.
NordVPN is also available on the Snap Store if you prefer Snap packages.
Step 2: fix the permission error (if you see it)
On some systems, the first command after installing returns:
Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock
Add your user to the nordvpn group, then reboot:
sudo usermod -aG nordvpn $USER
You only need the reboot if you hit this error.
Step 3: log in
On a desktop, run:
nordvpn login
It opens a browser window to finish the login.
On a server or any machine without a browser, use a token instead. Log in to your Nord Account on another device, open NordVPN, go to the advanced settings and choose to get an access token. You can pick a token that expires after 30 days or one that doesn’t expire. NordVPN recommends enabling multi-factor authentication if you choose the non-expiring kind. The token is only shown once, so copy it. Then:
nordvpn login --token YOUR_TOKEN
The token guide has the full steps. One detail worth knowing: nordvpn logout invalidates the token. Use nordvpn logout --persist-token if you want to reuse it later.
Step 4: connect
The basic commands:
nordvpn connect # fastest recommended server (short: nordvpn c)
nordvpn connect Germany # a country
nordvpn connect uk715 # a specific server
nordvpn disconnect # short: nordvpn d
nordvpn status # check what you're connected to
nordvpn countries lists available countries, and nordvpn settings shows your current configuration.
Step 5: turn on the kill switch
The kill switch blocks all traffic if the VPN drops, so nothing leaks over your normal connection. On Linux, it’s off by default. Turn it on:
nordvpn set killswitch on
If you work over SSH or use a NAS on your local network, also allow local traffic so you don’t lock yourself out:
nordvpn set lan-discovery on
nordvpn allowlist add port 22
Test it: connect, start a download, then run nordvpn disconnect and check the download stops. Our guide to the Linux VPN kill switch goes deeper, including a firewall-level fallback that doesn’t depend on any VPN app.
Step 6: connect automatically at boot
nordvpn set autoconnect on
Since version 6.0, auto-connect can no longer target a specific server number. Choose a country, city or server group, or leave it on the fastest server.
What changed in NordVPN 6.0 for Linux
NordVPN released version 6.0.0 for Linux on 22 October 2026. TechRadar’s rundown lists the changes. The ones that will break old scripts:
| Old command or behaviour | In 6.0 |
|---|---|
nordvpn set obfuscate on | Removed. Choosing the NordWhisper protocol turns obfuscation on automatically |
nordvpn set technology ... plus nordvpn set protocol ... | One step: nordvpn set protocol sets both, for example nordvpn set protocol openvpn_udp |
nordvpn whitelist ... | Removed. Use nordvpn allowlist ... |
threatprotectionlite, tplite, tpl, cybersec | Removed aliases. Real-time protection is nordvpn set protection on |
| Dedicated P2P server group | Removed. Every standard server supports P2P |
| Auto-connect to a server number | Removed. Use a country, city, group or fastest server |
Other changes are improvements. OpenVPN moves to version 2.7.7, and Data Channel Offload works out of the box on Linux kernel 6.16 or newer, which speeds OpenVPN up. Obfuscated servers now run on NordWhisper, NordVPN’s censorship-resistant protocol, instead of OpenVPN XOR. We explain NordWhisper in our piece on NordVPN’s obfuscated servers.
TechRadar measured NordLynx at 780 to 950+ Mbps in its testing, against 109 to 173 Mbps for NordVPN’s OpenVPN. So unless your network blocks it, stay on NordLynx, the default.
If a command from an older guide fails, run nordvpn --help or nordvpn set --help to see the current syntax.
Step 7: keep NordVPN updated
The Linux app doesn’t update itself. On Debian, Ubuntu and Mint:
sudo apt-get update
sudo apt-get install nordvpn
On Fedora, use your package manager’s upgrade command for the nordvpn package. Check your version with nordvpn --version.
Want to compare all VPNs side by side? Check our full VPN comparison table with scores across 18 criteria.
Which protocol should you use on Linux?
Stay on NordLynx unless something stops you. It’s NordVPN’s WireGuard-based protocol, it’s the default, and it’s by far the fastest option in TechRadar’s numbers above. Switch to OpenVPN over TCP only if a network blocks NordLynx, for example a strict office or hotel firewall. Choose NordWhisper if you’re somewhere that actively detects and blocks VPN traffic, accepting that obfuscation costs some speed. You can switch back at any time with the same nordvpn set protocol command.
Useful extras
- Meshnet:
nordvpn set meshnet onlinks your devices into a private network, useful for reaching a home server from anywhere. - Custom DNS:
nordvpn set dns 1.1.1.1if you want a specific resolver (leave it alone if you don’t know why you’d change it, since NordVPN’s own DNS avoids leaks). - Reset everything:
nordvpn set defaultsrestores all settings, which was fixed in 6.0.
NordVPN on a Raspberry Pi or headless server
The same install script works on Raspberry Pi OS, which makes a Pi a cheap always-on VPN box. On a headless machine, use the token login from Step 3, turn on the kill switch, allow your SSH port before you connect, and enable auto-connect so the VPN comes back after a reboot. If you’d rather run your own WireGuard server than a commercial VPN client, our Raspberry Pi VPN guide covers that route.
Check that it works
With the VPN connected:
- Run
nordvpn statusand confirm the server and country. - Check your public IP with a site or a command like
curl ifconfig.me. It should show a NordVPN address. - Run a DNS leak test in your browser. Only NordVPN DNS servers should appear.
Troubleshooting
- “Permission denied” on the socket: see Step 2.
- Login loop in the browser: use the token method instead.
- Slow speeds: check
nordvpn settingsand make sure you’re on NordLynx. Our guide to why your VPN is slow covers the rest. - Lost SSH access after enabling the kill switch: connect locally and run
nordvpn allowlist add port 22ornordvpn set lan-discovery on. - A script broke after updating: check the 6.0 table above.
Is NordVPN the best VPN for Linux?
For most people, yes. It scores 4.63/5 overall in our database, the highest of 49 VPNs, with 5/5 on speed, a PwC-audited no-logs policy and RAM-only servers. Its Linux app is one of the most complete. Proton VPN and Mullvad also have good Linux apps, and we compare them in our best VPN for Linux guide. For more on the provider itself, read our NordVPN review.
Setting up NordVPN on Linux takes one install script, one login and one connect command. Turn on the kill switch straight away, allow your local network if you use SSH, and update old scripts for version 6.0: NordWhisper replaces the obfuscate setting, set protocol now handles both technology and protocol, and whitelist is now allowlist. With 5/5 speed and the top score in our database, NordVPN is our first choice for Linux.