Overview
This AMI runs the open-source RustDesk Server, the self-hosted ID/rendezvous server (hbbs) and relay server (hbbr) for RustDesk remote desktop clients, on Ubuntu 24.04 LTS. The official rustdesk/rustdesk-server container image, version 1.1.16, is pinned and baked into the AMI, so first start does not depend on a registry. RustDesk is an independent open-source project and Perimattic is not affiliated with it; product names are trademarks of their respective owners.
Why a self-hosted RustDesk server?
RustDesk clients normally connect through public servers. With your own hbbs and hbbr, the clients on your devices find each other and relay their traffic through a server you control.
What Perimattic adds
Secure by default: at first login the servers generate a key pair on your instance (nothing is shipped in the image) and are started with the key requirement on (hbbs and hbbr run with -k _). Setup then speaks the RustDesk protocol to both servers to check that a connection request without the key, or with a wrong key, is refused and that the right key is accepted. The public key is printed at the end of setup for you to enter in your RustDesk clients; the private key stays on the server, readable by root only.
What you need to know
This is the open-source server. It has no web console, no user accounts and no address book (those belong to RustDesk's separate commercial Pro server, which is not included). Each RustDesk client must be configured with your server address and the public key. The key requirement stops clients without the key from connecting through your server; it does not block a device from registering its ID with the ID server.
Ports: this product needs more than 22, 80 and 443. Open TCP 21115, 21116 and 21117 and UDP 21116 in the security group (UDP 21116 is not in the list AWS shows, so add it yourself); TCP 21118 and 21119 are used only by the RustDesk web client. Ports 80 and 443 serve only a static status page and its Let's Encrypt certificate: Apache does not proxy RustDesk.
Relay traffic (the remote screens) passes through your instance, so network bandwidth, not memory, is what to size for. RustDesk used very little memory in our tests; a t3.small (2 GB) is the recommended starting size.
Licence
RustDesk Server is licensed under the GNU Affero General Public License v3 (AGPL-3.0). This AMI runs the unmodified upstream image; the source code is at github.com/rustdesk/rustdesk-server (tag 1.1.16). The project's last tagged release was in January 2026.
Getting Started Launch the AMI and open ports 22, 80, 443, TCP 21115-21119 and UDP 21116 SSH in and answer the setup prompts (domain and admin email) Copy the server address and public key printed at the end of setup Enter them in each RustDesk client under Settings > Network
A domain name with an A record pointing at the instance is used as the server address and for the status page certificate.
Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations or email us at aws-support@perimattic.com .
Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.
Highlights
- RustDesk Server 1.1.16 (AGPL-3.0), open-source hbbs and hbbr, pinned and pre-installed: your own ID and relay server for RustDesk clients.
- Key required: a key pair is generated on your server at first login, only clients holding the public key are served, and setup proves it. No web console; the open-source server has no accounts.
- Built on patched Ubuntu 24.04 LTS and supported by Perimattic: free setup assistance at aws-support@perimattic.com.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
- ...
Dimension | Cost/hour |
|---|---|
t3.small Recommended | $0.03 |
t3.micro | $0.03 |
c3.2xlarge | $0.03 |
c3.4xlarge | $0.03 |
c3.8xlarge | $0.03 |
c3.large | $0.03 |
c3.xlarge | $0.03 |
c4.2xlarge | $0.03 |
c4.4xlarge | $0.03 |
c4.8xlarge | $0.03 |
Vendor refund policy
For any questions or concerns, please contact: Perimattic.com Email: aws-support@perimattic.com
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release.
- Application: RustDesk Server 1.1.16 (container image pinned, baked into the AMI).
- Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
- TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
- Credentials are generated on the instance at first login; none are present in the image.
- No accounts exist in the open-source RustDesk server: a key pair is generated at first login, both servers run with the key requirement on (-k _), and setup verifies with the RustDesk protocol that requests without the key or with a wrong key are refused.
- Application: RustDesk Server 1.1.16 (AGPL-3.0, unmodified official image: hbbs and hbbr, pinned). It needs TCP 21115-21119 and UDP 21116 in addition to 22, 80 and 443; Apache serves only a static status page, not RustDesk.
- No web console; the key requirement does not block a device from registering its ID with the ID server.
Additional details
Usage instructions
-
Launch an Instance
From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.
-
Choose the Recommended Instance Type
t3.small (2 GB of memory) is the recommended starting size: the RustDesk servers use very little memory, and what matters is network bandwidth, because the relay carries the remote screens. Choose a larger type with more network capacity for many simultaneous relayed sessions.
-
Configure Security Group
Allow inbound traffic on the following ports:
- 22 (SSH) - terminal access for setup
- 80 (HTTP) - needed to validate your domain for the TLS certificate
- 443 (HTTPS) - access to RustDesk Server
- 21115 - TCP: RustDesk ID server NAT test (hbbs)
- 21116 - TCP: RustDesk ID/rendezvous server (hbbs); also open UDP 21116, which you must add yourself
- 21117 - TCP: RustDesk relay server (hbbr)
- 21118 - TCP: hbbs web-client websocket (only for the RustDesk web client)
- 21119 - TCP: hbbr web-client websocket (only for the RustDesk web client)
-
Point a domain at the instance
Create a DNS A record (for example rustdesk.example.com) pointing to the instance's public IP before you log in.
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
-
First-Login Setup
The first SSH login runs a guided setup:
- Prompts for your domain and admin email and checks the DNS A record
- Starts the RustDesk ID server (hbbs) and relay (hbbr) with the key requirement on; they generate this instance's key pair
- Checks, speaking the RustDesk protocol, that requests without the key or with a wrong key are refused by both servers and the right key is accepted
- Writes a static status page and configures Apache with a Let's Encrypt certificate for it (Apache does not proxy RustDesk)
- Prints the server address and the public key; they are also stored in /opt/app/access.txt (root only)
If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.
-
Access RustDesk Server
Read the server address and public key printed at the end of setup (view them again with: sudo cat /opt/app/access.txt). In each RustDesk client open Settings > Network > ID/Relay server and enter your server address as ID server and relay server and the public key as Key. Open TCP 21115-21119 and UDP 21116 in the security group (UDP 21116 must be added by hand). There is no web console.
-
Credentials
Generated on your server, never shared between customers. View them again with:
sudo cat /opt/app/access.txt
-
Manage the Services
cd /opt/app sudo docker compose ps sudo docker compose restart
The key pair is in /opt/app/data (private key readable by root only): back up /opt/app/data or snapshot the volume, because a lost key means reconfiguring every client. To issue a new key, stop the containers, delete id_ed25519 and id_ed25519.pub in /opt/app/data and start them again. Server logs: sudo docker logs hbbs and sudo docker logs hbbr.
Thank you for subscribing.
Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:
Email us: aws-support@perimattic.com WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >
We offer free setup assistance, custom development and integrations, and infrastructure consulting.
Resources
Support
Vendor support
Support by Perimattic
Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.
Contact Channels: Email: aws-support@perimattic.com WhatsApp: +91-92142 66896 Website: <www.perimattic.com >
What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance
Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets
For workload-specific sizing recommendations, contact our team for a free consultation.
Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com and we will respond promptly.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.