How to Install NordVPN on Ubuntu

Install NordVPN on Ubuntu with the official install.sh script or Snap, add your user to the nordvpn group, log in with nordvpn login, connect with nordvpn connect, and fix Permission denied nordvpnd.sock and LAN discovery issues on Ubuntu 22.04–25.04.

Published

Updated

Read time 6 min read

Reviewed byDeepak Prasad

Install NordVPN on Ubuntu banner with VPN shield lock and Ubuntu orange accent

NordVPN is a commercial VPN for encrypting traffic, changing virtual location, and adding Threat Protection on untrusted networks. On Ubuntu, NordVPN publishes an official Linux client (CLI and optional GUI) via an install script, plus a Snap with a desktop interface (Snapcraft). You need an active NordVPN subscription to connect—the installer is free, but nordvpn connect fails without a valid account.

This guide shows how to install NordVPN on Ubuntu, fix nordvpnd.sock permission errors, log in, and connect from the terminal. Commands were tested on Ubuntu 25.04; login and connect require your Nord account (not available in this test environment). For self-hosted or open-source VPN stacks instead of a commercial client, compare options in open source VPN software for Linux.

Tested on: Ubuntu 25.04 (Plucky Puffin); kernel 6.14.0-37-generic; amd64.

NOTE
Use one install channel: the official install.sh client (recommended by NordVPN support) or the Snap. After install, add yourself to the nordvpn group and log out/in before nordvpn login.

Prerequisites

  • Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS, or newer (25.04 tested here) on amd64. NordVPN documents support for Debian 11+, Ubuntu 20.04+, and Fedora 32+ (official guide).
  • sudo privileges.
  • curl or wget (install curl) for the official installer.
  • An active NordVPN subscription and Nord Account credentials.
  • For GUI: GNOME or KDE desktop (officially supported environments).

See check Ubuntu version if you are unsure which release you are on.


Choose an install method

Method Best for Jump to
Official install.sh (CLI) Most server admins and terminal users who connect from the command line Method 1
Official install.sh -p nordvpn-gui Desktop users who want a menu icon and graphical connect Method 2
Snap nordvpn Users who prefer installing NordVPN from the Snap Store Method 3
Manual apt repo Advanced administrators when the official script is blocked Method 4

For most users, the official install script is recommended—CLI for servers and headless desktops, GUI for Ubuntu Desktop.


NordVPN’s support article documents:

bash
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)

Without curl:

bash
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)

The script adds NordVPN’s apt repository and installs the nordvpn package. Install script URL probe on Ubuntu 25.04:

text
HTTP/2 200

After a successful install:

bash
which nordvpn
nordvpn --version

Expected shape (native .deb client): NordVPN Version with a numeric release (not [snap]).


Method 2: Install NordVPN GUI (optional)

For a graphical app on GNOME/KDE:

bash
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh) -p nordvpn-gui

Launch from Activities → NordVPN, sign in in the browser, then click Secure my connection.


Method 3: Install via Snap (alternative)

Snapcraft publishes a verified NordVPN Snap with GUI support:

bash
sudo snap install nordvpn

Tested output:

text
nordvpn 5.1.0 from NordVPN** installed
/snap/bin/nordvpn
NordVPN Version 5.1.0 [snap]

Grant permissions Snap requires:

bash
sudo groupadd nordvpn 2>/dev/null || true
sudo usermod -aG nordvpn $USER
sudo snap connect nordvpn:system-observe
sudo snap connect nordvpn:hardware-observe
sudo snap connect nordvpn:network-control
sudo snap connect nordvpn:network-observe
sudo snap connect nordvpn:firewall-control
sudo snap connect nordvpn:login-session-observe

Log out and back in so group membership applies.


Method 4: Manual apt repository (when the script fails)

If corporate proxies break the install script’s apt update against repo.nordvpn.com, add the repository manually:

bash
curl -fsSL https://repo.nordvpn.com/gpg/nordvpn_public.asc -o /tmp/nordvpn-keyring.asc
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nordvpn-keyring.gpg /tmp/nordvpn-keyring.asc
rm /tmp/nordvpn-keyring.asc

echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/nordvpn-keyring.gpg] https://repo.nordvpn.com/deb/nordvpn/debian stable main" | \
  sudo tee /etc/apt/sources.list.d/nordvpn.list

sudo apt update
sudo apt install -y nordvpn
sudo usermod -aG nordvpn $USER

Log out and back in before using the CLI.


Fix nordvpnd.sock permission errors

Reddit and NordVPN support threads often hit:

text
Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock

Fix:

bash
sudo usermod -aG nordvpn $USER

Then log out completely (or reboot). On Snap, ensure the snap connect commands from Step 3 ran.

If the daemon is stopped:

bash
sudo systemctl enable --now nordvpnd

On Snap-only hosts the unit name may differ; reinstall if the socket path is still missing.


Log in

Desktop or laptop (browser available)

bash
nordvpn login

Open the printed URL in your browser and approve the login. Success shows:

text
You are already logged in.

Headless server (no local browser)

Follow NordVPN’s guide for logging in without GUI: run nordvpn login on the server, complete auth on another device, then use the nordvpn login --callback token when documented.


Connect, disconnect, and verify

bash
nordvpn connect
nordvpn status

Tested output (Snap client, logged out / not connected):

text
Status: Disconnected
bash
nordvpn settings
text
Technology: NORDLYNX
Firewall: enabled
Kill Switch: disabled
Threat Protection Lite: disabled
Auto-connect: disabled
Meshnet: disabled

Common commands (NordVPN support reference):

bash
nordvpn countries
nordvpn cities Germany
nordvpn connect Germany
nordvpn connect us1234
nordvpn disconnect
nordvpn set killswitch on
nordvpn set autoconnect on
nordvpn set threatprotectionlite on
nordvpn set lan-discovery enable

LAN discovery: From NordVPN 3.18.4+, LAN traffic through a VPN-connected machine is blocked by default. Enable lan-discovery or whitelist subnets when you need local printer/NAS access while tunneled.

If connect opens a renewal page:

text
Your account has expired. Renew your subscription...

The client is installed correctly—you need an active subscription at nordvpn.com.


Uninstall

Official apt package:

bash
sudo apt purge -y nordvpn nordvpn-release
sudo rm -f /etc/apt/sources.list.d/nordvpn.list /etc/apt/trusted.gpg.d/nordvpn-keyring.gpg
sudo apt autoremove -y

See remove unused packages on Ubuntu if apt reports additional auto-installed packages after purge.

Snap:

bash
sudo snap remove nordvpn

Troubleshooting

Symptom Likely cause Fix
Permission denied … nordvpnd.sock User not in nordvpn group sudo usermod -aG nordvpn $USER; re-login
nordvpn: command not found Client not installed Run official install.sh or sudo snap install nordvpn
Unable to locate package nordvpn Repo SSL/apt update failed Fix HTTPS/proxy certs; use manual repo steps
Couldn't find … nordvpnd.sock Daemon not running sudo systemctl enable --now nordvpnd; reinstall client
Snap “Permission needed” Missing interfaces Run all sudo snap connect nordvpn:… commands
Browser login loop on server Headless host Use Nord’s no-GUI login / callback flow
Cannot reach LAN devices when connected Default LAN block nordvpn set lan-discovery enable or whitelist subnet
connect opens payment page Expired subscription Renew NordVPN plan
Old nordvpn c needs sudo Group not applied Re-login after usermod; newer clients use group perms

References


Summary

The recommended way to install NordVPN on Ubuntu is NordVPN’s official script: sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh). Add sudo usermod -aG nordvpn $USER, re-login, then nordvpn login and nordvpn connect.

For a desktop GUI, use install.sh -p nordvpn-gui or sudo snap install nordvpn with the documented snap connect permissions. Fix nordvpnd.sock errors with the nordvpn group and daemon start, enable LAN discovery when local devices disappear behind the tunnel, and remember an active subscription is required to connect.


Frequently Asked Questions

1. How do I install NordVPN on Ubuntu?

Run sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh) for the official CLI client, or sudo snap install nordvpn for the Snap with GUI. Then sudo usermod -aG nordvpn $USER, log out and back in, and run nordvpn login.

2. What is the official NordVPN install command for Ubuntu?

NordVPN documents: sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh). Without curl use: sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh). For the desktop GUI add -p nordvpn-gui.

3. How do I fix Permission denied accessing /run/nordvpn/nordvpnd.sock?

Add your user to the nordvpn group: sudo usermod -aG nordvpn $USER, then log out and log back in (or reboot). On Snap also run the snap connect commands for network-control, firewall-control, and related interfaces.

4. How do I log in to NordVPN on Ubuntu without a browser on the server?

Run nordvpn login on the headless machine, open the printed URL on another device, then complete login with the callback token method documented in NordVPN support for Linux without GUI.

5. How do I connect and disconnect NordVPN on Ubuntu?

After nordvpn login, run nordvpn connect (or nordvpn c) for the recommended server, nordvpn connect Germany for a country, or nordvpn disconnect (nordvpn d) to stop. Check nordvpn status for the current state.

6. Should I use the NordVPN Snap or the official .deb install?

NordVPN recommends the native application from install.sh (.deb via their repo). Snap includes a GUI and auto-updates but needs extra snap connect steps. Pick one client—do not stack both.

7. Why does nordvpn connect say my account has expired?

The client is installed correctly but your NordVPN subscription is inactive. Renew at nordvpn.com. Installation is free; VPN service requires an active paid account.

8. How do I enable Kill Switch or auto-connect on NordVPN Linux?

Run nordvpn set killswitch on and nordvpn set autoconnect on. View options with nordvpn settings. For local LAN access after connect, use nordvpn set lan-discovery enable per NordVPN docs.

9. How do I uninstall NordVPN from Ubuntu?

For apt package: sudo apt purge -y nordvpn nordvpn-release && sudo rm -f /etc/apt/sources.list.d/nordvpn.list. For Snap: sudo snap remove nordvpn. Remove nordvpn group if unused.
Omer Cakmak

Linux Administrator

Highly skilled at managing Debian, Ubuntu, CentOS, Oracle Linux, and Red Hat servers. Proficient in bash scripting, Ansible, and AWX central server management, he handles server operations on …