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.
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.
Method 1: Install NordVPN CLI (official script — recommended)
NordVPN’s support article documents:
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)Without curl:
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:
HTTP/2 200After a successful install:
which nordvpn
nordvpn --versionExpected 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:
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh) -p nordvpn-guiLaunch 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:
sudo snap install nordvpnTested output:
nordvpn 5.1.0 from NordVPN** installed
/snap/bin/nordvpn
NordVPN Version 5.1.0 [snap]Grant permissions Snap requires:
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-observeLog 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:
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 $USERLog out and back in before using the CLI.
Fix nordvpnd.sock permission errors
Reddit and NordVPN support threads often hit:
Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sockFix:
sudo usermod -aG nordvpn $USERThen log out completely (or reboot). On Snap, ensure the snap connect commands from Step 3 ran.
If the daemon is stopped:
sudo systemctl enable --now nordvpndOn Snap-only hosts the unit name may differ; reinstall if the socket path is still missing.
Log in
Desktop or laptop (browser available)
nordvpn loginOpen the printed URL in your browser and approve the login. Success shows:
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
nordvpn connect
nordvpn statusTested output (Snap client, logged out / not connected):
Status: Disconnectednordvpn settingsTechnology: NORDLYNX
Firewall: enabled
Kill Switch: disabled
Threat Protection Lite: disabled
Auto-connect: disabled
Meshnet: disabledCommon commands (NordVPN support reference):
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 enableLAN 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:
Your account has expired. Renew your subscription...The client is installed correctly—you need an active subscription at nordvpn.com.
Uninstall
Official apt package:
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 -ySee remove unused packages on Ubuntu if apt reports additional auto-installed packages after purge.
Snap:
sudo snap remove nordvpnTroubleshooting
| 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
- NordVPN: Install on Linux distributions
- NordVPN: Log in without GUI
- NordVPN Linux download
- Install NordVPN Snap (Ubuntu)
- On-site: install curl, apt command
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.

