How to Use RustDesk: The Beginner's Guide (First Connection, Permanent Password, File Transfer, and the Self-Hosted Server Option)

CodexFuse Team · 2026-10-30T12:21:05.130Z · 12 min read

What is RustDesk, exactly?

RustDesk is an open-source remote desktop client written in Rust that lets you see and control another computer's screen from anywhere — the same job TeamViewer and AnyDesk do, except the client is free forever and you can run the entire connection infrastructure on your own server. The client is licensed under AGPL-3.0, the repository has gathered over 126,000 GitHub stars, and the current releases are client 1.5.0 (September 2026) with the self-hosted server at 1.1.16 (Livezen Technologies, October 2026).

This beginner guide to how to use RustDesk walks you through the full first arc in one sitting: install on both machines, your first connection, a permanent password for unattended access, file transfer from the toolbar, and the optional RustDesk self-hosted server branch. Whether you arrived here searching "rustdesk for beginners", "rustdesk tutorial", or "rustdesk setup", this one page covers the whole arc — no second guide needed. No account signup is needed to start — and when you are done, you will know exactly where the free line ends and the paid Pro line begins. If you want every session wrapped in your own private mesh network, pair this with our Tailscale beginner guide; it is optional, not required.

Step 1: Install RustDesk on both machines

Install the client on every computer you want to connect from or to — the remote machine and your own. RustDesk runs on Windows, macOS, Debian/Ubuntu, Red Hat/CentOS/Fedora, Arch, openSUSE, NixOS, AppImage/Flatpak, Android, iOS (view only — it cannot be controlled remotely), and the web (rustdesk.com client documentation, October 2026).

The steps differ slightly per platform. On Windows, download the .exe from the GitHub releases page and run it — administrators can install fleet-wide with the --silent-install flag. On macOS, open the .dmg, drag RustDesk to Applications, allow it to run, and grant the screen-recording and accessibility permissions it asks for on first launch. On Debian-based Linux, it is one command: sudo apt install -fy ./rustdesk-<version>.deb. The Windows client can also run as a portable executable without installing, which is handy for one-off help sessions.

Step 2: Make your first connection (your ID and the one-time password)

When RustDesk opens, the left panel shows three things: your device's ID (top left), a one-time password, and a menu button (⋮) that opens Settings. The right side has a box where you type the remote device's ID. On first launch you will also see the message "Ready, For faster connection, please set up your own server" — that is RustDesk nudging you toward the self-host branch covered later, not an error (rustdesk.com client documentation, October 2026).

To connect, follow this numbered flow:

  1. On the remote machine (the one being helped), read out its ID and the one-time password.
  2. On your machine, type that ID into the connect box and press Enter.
  3. The remote side sees an approval prompt — accept it, and enter the one-time password when asked.
  4. You are in: the remote screen fills your window, and a toolbar appears with the session extras.

The one-time password changes on every restart, which is fine for a single help session but useless for reaching your own machine later. That is what Step 3 fixes.

Step 3: Set a permanent password for RustDesk unattended access

Setting the RustDesk permanent password turns RustDesk into an always-reachable remote machine: you set it once, and you can connect later without anyone sitting at the other end to approve or read out a code. On the machine you want to reach, open the menu (⋮) → Settings → Security → unlock the security settings → Password → Set permanent password, and choose a long, random password you store in a password manager (Ghent University helpdesk guide, 2026).

Prefer the command line? The official client accepts rustdesk --password to set the permanent password non-interactively, and rustdesk --get-id prints the machine's ID — useful when scripting a fleet install or setting up a headless Linux box (rustdesk.com client documentation; telin.ugent.be, 2026).

Treat the permanent password like a house key. Anyone who has both your RustDesk ID and that password can reach the machine at any time, so never reuse a password from another account and never share the ID publicly.

The toolbar: file transfer, terminal, recording, and the rest

Once a session is live, the toolbar along the edge of the remote window is where RustDesk stops being "just screen sharing." The useful extras are RustDesk file transfer (a two-pane file browser for pushing files to or pulling files from the remote machine), a remote terminal for command-line work without opening the desktop, screen recording, and even a camera viewer for the remote device's webcam (MakeUseOf, June 2026).

Two settings beginners should change on day one. In Settings → Display you can tune quality and resolution to trade smoothness against bandwidth — drop the quality before you blame your internet. And in Settings → Security you control exactly what a remote partner is allowed to do: disable file transfer or the terminal for untrusted help sessions, and re-enable them only for your own machines.

RustDesk vs TeamViewer: which one should a beginner pick?

For a beginner the choice comes down to cost, control, and one scam-shaped caution. Here is the honest comparison:

FactorRustDeskTeamViewer
Client priceFree and open source (AGPL-3.0)Free for personal use; commercial use needs a paid license
Who runs the serversRustDesk's public servers by default — or your own, freeTeamViewer's servers only
Self-hostingFully supported, free OSS server (hbbs + hbbr)Not available
Public-server sign-inRequires a third-party login (Google/GitHub) since the anti-scam updateAccount required
Best forTinkerers, families, small teams who want controlBeginners who never want to touch a server

The caution is real and worth stating plainly: remote desktop tools are a favorite of tech-support scammers, and RustDesk's public servers now require a third-party identity login precisely to curb that abuse (MakeUseOf, June 2026). Our consent rule at the end of this guide is not optional reading.

Going further: self-host your own RustDesk server

Self-hosting means running the two small services that broker your connections: hbbs, the ID and rendezvous server that introduces clients to each other, and hbbr, the relay that carries screen traffic only when the two machines cannot reach each other directly. This is the RustDesk self hosted path in one paragraph: two tiny services on a VPS you control, and your sessions never touch RustDesk's public infrastructure. The whole pair idles at roughly 14.5 MiB of RAM — small enough for the cheapest VPS you own (ComputingForGeeks, October 2026).

You need a Linux VPS with a public IP and Docker installed; our what is VPS hosting guide explains the server side, and our Docker beginner guide walks through installing Docker itself. The official Docker commands are:

sudo docker run --name hbbs -v ./data:/root -td --net=host \
  --restart unless-stopped rustdesk/rustdesk-server hbbs
sudo docker run --name hbbr -v ./data:/root -td --net=host \
  --restart unless-stopped rustdesk/rustdesk-server hbbr

Use an IP address lookup to confirm your VPS's public address, then open the firewall ports and point every client at the server: Settings → Network → Unlock Network Settings → enter your ID server, relay server, and the key. On first launch hbbs generates an id_ed25519 key pair inside ./data — paste the public key into each client, and guard the private key like a password, because anyone holding it can impersonate your relay (rdp.sh VPS guide, May 2026; rustdesk.com Docker documentation, 2026).

The server ports, decoded

RustDesk's server listens on a small, fixed set of ports. Open only what you need:

PortProtocolWhat it doesOpen it?
21115TCPhbbs NAT type testYes
21116TCP + UDPhbbs ID registration, heartbeat, TCP hole punchingYes (both)
21117TCPhbbr relay trafficYes
21118 / 21119TCPWebSocket ports for the web client onlyOnly if you run the web client behind a reverse proxy
21114TCPWeb consolePro only

One security note from the October 2026 lab guides: hbbs and hbbr trust the X-Real-IP header on the web-client ports without validating it, so leaving 21118/21119 open to the internet lets anyone spoof their source address — keep them firewalled off unless the web client is genuinely behind your reverse proxy (ComputingForGeeks, October 2026).

Public relay vs your own server: the honest comparison

Most beginners should start on the public servers and self-host later, once the value is proven. The trade-offs:

ChoiceSetupCostPrivacyCatch
Public serversZero — install and goFreeRustDesk brokers the connection metadataThird-party login required; relay speed depends on their load
Server OSS (self-hosted)VPS + Docker + firewall, ~30 minutesFree forever (plus your VPS)Brokering stays on your boxYou maintain updates, keys, and backups
Server Pro (self-hosted)Same as OSS plus license keyCommercialBrokering stays on your boxManagement features are paid; OSS alone has no console

The Server OSS vs Pro line is the one beginners misunderstand most. Server OSS is free and open source, but it is plumbing, not a product: there is no web console, no user accounts, no role-based permissions, and no audit log. Server Pro is commercial, proprietary software that adds the web console, central device management, an address book, two-factor auth, and audit logs — licensed by login users and managed devices, not by technician seats (Livezen Technologies, October 2026; rustdesk.com, 2026).

The consent rule: only ever connect where you're welcome

Remote desktop software is dual-use, and RustDesk is no exception — scammers routinely cold-call people and talk them into installing exactly this kind of tool. So here is the rule, stated plainly: only ever connect to a machine you own, or to a machine whose owner is sitting there asking for your help. Never install RustDesk at a stranger's request, never share your own ID and password with someone who contacted you out of the blue, and never hand over a permanent password to anyone you would not hand your house keys to.

If someone claiming to be "tech support" asks you to install RustDesk, that is the scam — real support teams do not cold-call. Close the session, uninstall if they already talked you into it, and change any passwords you typed while they were watching.

Five mistakes every RustDesk beginner makes

1. Expecting the Linux login screen to work on Wayland. Wayland support is still experimental, and reaching the login screen on Wayland requires X11 — if the screen stays black before login, that is why, not a broken install (LinuxForDevices, October 2026).

2. Opening every port "to be safe." 21118 and 21119 are for the web client only, and 21114 is Pro-only — opening them on a plain setup buys nothing and widens the attack surface. Open 21115–21117 plus UDP 21116 and stop there.

3. Losing the server's private key. The id_ed25519 file in your server's ./data directory can impersonate your entire relay — back it up offline and never commit it anywhere public (rdp.sh, May 2026).

4. Relying on the one-time password for your own machines. It rotates on restart. Set the permanent password the same day you install, or you will lock yourself out of your own server at the worst possible moment.

5. Blaming RustDesk for network lag. Before you touch a single setting, run a ping test against your server's region — most "RustDesk is slow" complaints are a congested route, and a self-hosted relay in your own region beats the public relay by a wide margin on latency.

Sources

  • rustdesk.com, "RustDesk Client" official documentation — supported platforms, install steps per OS, permanent password via --password, own-server network settings; read 2026-10-30.
  • rustdesk.com, "Docker" official self-host documentation — hbbs/hbbr roles, required ports 21114–21119, docker run commands, --net=host Linux requirement; read 2026-10-30.
  • computingforgeeks.com, "Install RustDesk on Ubuntu + Self-Hosted Server" — UFW port rules, X-Real-IP spoofing warning on web-client ports, 14.5 MiB idle RAM, client 1.5.0 / server 1.1.16, lab-tested October 2026; read 2026-10-30 via web search.
  • rdp.sh, "Self-Host RustDesk Server on a VPS for Private Remote Desktop" — Docker Compose file, hbbs/hbbr first-launch logs, id_ed25519 key handling, client key pinning; published May 2026; read 2026-10-30 via web search.
  • makeuseof.com, "TeamViewer lost me to a lightweight open-source tool I now run myself" — public-server third-party login anti-scam measure, toolbar (screen recording, file transfer, remote terminal, camera viewer); published June 2026; read 2026-10-30 via web search.
  • livezentech.com, "RustDesk: the self-hosted open-source TeamViewer alternative" — AGPL-3.0 license, 126,000+ GitHub stars, client 1.5.0 / server 1.1.16, OSS-vs-Pro split (no web console, users, or audit in OSS); published October 2026; read 2026-10-30 via web search.
  • linuxfordevices.com, "RustDesk: TeamViewer Alternative for Linux" — OSS vs Pro framing, Wayland experimental / X11 for login screen; published October 2026; read 2026-10-30 via web search.
  • telin.ugent.be, "Rustdesk — TELIN Helpdesk" — permanent password setup path (Settings → Security → Set permanent password), rustdesk --get-id; read 2026-10-30 via web search.

Frequently Asked Questions

Is RustDesk really free?

Yes — the client and the self-hosted Server OSS are free and open source (AGPL-3.0), with no seat limits and no time bombs. The only paid piece is Server Pro, the commercial management layer with a web console, device management, and audit logs; you never need it for personal or small-team use.

Can I connect to a computer when nobody is there?

Yes — that is exactly what the permanent password is for. Set it under Settings → Security → Password on the remote machine, and you can connect any time it is powered on and online. Without it you need someone at the other end to approve each session and read out the one-time password.

Does RustDesk work on iPhone and Android?

Both apps exist, but with a platform split: Android can be fully controlled, while iOS is view-only because Apple does not allow remote control of an iPhone (rustdesk.com client documentation). For helping family members, Android-to-desktop and desktop-to-desktop are the practical combinations.

What is the difference between hbbs and hbbr?

hbbs is the ID and rendezvous server — clients register their IDs with it and it introduces the two ends of a session. hbbr is the relay — it only carries actual screen traffic when the two machines cannot reach each other directly. In most home setups the direct connection wins and the relay sits idle.

Do I have to self-host to use RustDesk?

No. The client works out of the box through RustDesk's public servers, which is the right choice for your first week. Self-hosting becomes worth it when you want faster relays, full control of connection metadata, or a private setup for family and team machines — and the free Server OSS is enough for that.