rustdesk.yourdomain.com
.https://rustdesk.yourdomain.com
or http://youripaddress:21114
.admin
and password test1234
.rustdesk.yourdomain.com
.https://rustdesk.yourdomain.com
or http://youripaddress:21114
.admin
and password test1234
.The services use systemd so can be started and stopped using sudo systemctl stop|start|restart rustdesk-hbbs|rustdesk-hbbr
e.g. sudo systemctl restart rustdesk-hbbs
.
The logs are stored in /var/log/rustdesk-server
, you can view them using tail /var/log/rustdesk-server/hbbs.log
or tail /var/log/rustdesk-server/hbbs.error
.
To check the status sudo systemctl status rustdesk-hbbs|rustdesk-hbbr
e.g. sudo systemctl status rustdesk-hbbs
.
https://rustdesk.yourdomain.com
or http://youripaddress:21114
.admin
and password test1234
.admin
in the top right hand corner.Settings
.Please see here.
A lot of VPS providers block ports 465 and 25.
A simple way to check is using telnet. To test in the Linux terminal type telnet your.mailserver.com 25
. On Windows use PowerShell with Test-NetConnection -ComputerName your.mailserver.com -Port 25
.
Your mail server may not be using port 25. Please make sure you are using the correct ports.
Sure, you can find scripts to aid deployment here.
Use a proxy like Nginx, the simple install script has one, it’s really simple. This is how we do it.
Similar configs should work with Traefik v2, HAProxy, Apache Proxy and Cloudflare Tunnel.
Please file via GitHub.
This is easily sorted, you need to allow cross-group access.
Edit
.Configs are generated automatically.
Windows EXE
.Submit
.Please get in touch with our sales team.
Yes! We have a YouTube Channel.
Ensure API is set on both the device being controlled and the machine controlling.
On the left hand side click on Logs
.
Run the following commands:
sudo systemctl stop rustdesk-hbbs.service
sudo systemctl disable rustdesk-hbbs.service
sudo systemctl stop rustdesk-hbbr.service
sudo systemctl disable rustdesk-hbbr.service
sudo systemctl daemon-reload
sudo rm /etc/systemd/system/rustdesk-hbbs.service
sudo rm etc/systemd/system/rustdesk-hbbr.service
sudo rm /usr/bin/hbbs
sudo rm /usr/bin/hbbr
sudo rm -rf /var/lib/rustdesk-server/
sudo rm -rf /var/log/rustdesk-server/
If the script installed Nginx then remove using:
sudo apt remove nginx
Disable and then delete will now be available.
$ErrorActionPreference= 'silentlycontinue'
$rdver = ((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RustDesk\").Version)
if ($rdver -eq "1.2.3")
{
Write-Output "RustDesk $rdver is the newest version."
Exit
}
if (!(Test-Path C:\Temp))
{
New-Item -ItemType Directory -Force -Path C:\Temp > null
}
cd C:\Temp
Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.exe" -Outfile "rustdesk.exe"
Start-Process .\rustdesk.exe --silent-install -wait
Key mismatch
errorPlease configure your client with correct key.
Failed to connect to relay server
errorPlease make sure hbbr
is running. More information about hbbr
, you can find here.
If your hbbr
does not run on the same machine of hbbs
, or you have multiple relay servers, or you do not run it on default port 21117
, you have to tell it to hbbs
explicitly. Please check here.
https://github.com/rustdesk/rustdesk/discussions/6576
For example, if you buy a domain name example.com
from Namesilo
and your server’s IP address is 123.123.123.123
, you want to use rustdesk.example.com
subdomain as your https web console address. You need to open link https://www.namesilo.com/account_domains.php, click the button with tooltip Manage dns for the domain
, add add a A
record with the hostname name rustdesk
and the IP address of your server.
<YOUR_DOMAIN>
with your subdomain, eg: rustdesk.example.com
.sudo apt-get install nginx
sudo dnf install nginx
or sudo yum install nginx
sudo pacman -S install nginx
sudo zypper install nginx
sudo emerge -av nginx
sudo apk add --no-cache nginx
Run nginx -h
to check whether it has been installed successfully.
sudo snap install certbot --classic
python3-certbot-nginx
instead. eg: sudo apt-get install python3-certbot-nginx
for ubuntucertbot-nginx
, eg: sudo yum install certbot-nginx
for centos 7Run certbot -h
to check whether it has been installed successfully..
There are two ways:
/etc/nginx/sites-available
and /etc/nginx/sites-enabled
exists, replace <YOUR_DOMAIN>
of the following command with your domain name and run it.cat > /etc/nginx/sites-available/rustdesk.conf << EOF
server {
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
}
EOF
Then run sudo ln -s /etc/nginx/sites-available/rustdesk.conf /etc/nginx/sites-enabled/rustdesk.conf
.
Run cat /etc/nginx/sites-available/rustdesk.conf
to make sure its content is correct.
/etc/nginx/sites-available
and /etc/nginx/sites-enabled
don’t exist and directory /etc/nginx/conf.d
exists, replace <YOUR_DOMAIN>
of the following command with your domain name and run it.cat > /etc/nginx/conf.d/rustdesk.conf << EOF
server {
server_name <YOUR_DOMAIN>;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
}
EOF
Run cat /etc/nginx/conf.d/rustdesk.conf
to make sure its content is correct.
Run the following commands:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable
sudo ufw --force reload
Replace <YOUR_DOMAIN>
with your domain name, then run
sudo certbot --nginx --cert-name <YOUR_DOMAIN> --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d <YOUR_DOMAIN>
If it prompts Enter email address (used for urgent renewal and security notices)
, enter your email address.
Finally, the content of rustdesk.conf
should be like this:
server {
server_name <Your_DOMAIN>;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/<Your_DOMAIN>/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/<Your_DOMAIN>/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = <Your_DOMAIN>) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name <Your_DOMAIN>;
listen 80;
return 404; # managed by Certbot
}
Here are some common errors:
Successfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../default
rather than Successfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../rustdesk.conf
.Solution: The reason may be certbot doesn’t find the rustdesk.conf file, you can try one of the following solutions:
- Check the result of the step 5, run sudo service nginx restart
.
- Copy the server configs server{...}
which contain <YOUR_DOMAIN>
to rustdesk.conf
, and change location{...}
to the content below.
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
too many certificates (5) already issued for this exact set of domains in the last 168 hours
Solution: add another domain name to dns and change <YOUR_DOMAIN>
to it, eg: rustdesk2.example.com
, then repeat step 1, 4, 6.
Error getting validation data
Solution: it may be caused by firewall, please refer to https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#firewall
Notice: Run sudo service nginx restart
if you change the rustdesk.conf manually.
If Waiting for RustDesk Relay service to become active...
appears when install, it may be caused by selinux. You can try the following commands:
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbs'
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbr'
sudo restorecon -v '/usr/bin/hbbs'
sudo restorecon -v '/usr/bin/hbbr'
Rustdesk set firewall with ufw
, it may not work on some distros like CentOS 9, you can try with firewall-cmd
.
sudo firewall-cmd --permanent --add-port=21115/tcp
sudo firewall-cmd --permanent --add-port=21116/tcp
sudo firewall-cmd --permanent --add-port=21117/tcp
sudo firewall-cmd --permanent --add-port=21118/tcp
sudo firewall-cmd --permanent --add-port=21119/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
If you use IP:
sudo firewall-cmd --permanent --add-port=21114/tcp
If you use DNS/Domain:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
After above, run sudo firewall-cmd --reload
to reload firewall.