20 KiB
title | weight |
---|---|
FAQ | 600 |
Como posso instalar com o script de instalação simples?
- Obtenha sua licença em https://rustdesk.com/pricing.html, consulte a página de licença para mais detalhes.
- Inicie um VPS, bare metal ou VM Linux.
- Se você quiser usar DNS e SSL, crie um nome DNS como
rustdesk.yourdomain.com
. - Esta página.
- Copie e cole o comando em seu terminal Linux.
- Siga as instruções que o guiam pela instalação.
- Após a instalação ser concluída, vá para
https://rustdesk.yourdomain.com
ouhttp://youripaddress:21114
. - Faça login com o nome de usuário
admin
e senhatest1234
. - Digite seu código de licença comprado na etapa 1.
Como posso converter do RustDesk Server Open Source para o RustDesk Server Pro?
- Obtenha sua licença em https://rustdesk.com/pricing.html, consulte a página de licença para mais detalhes.
- Abra a porta TCP 21114.
- Faça login no seu RustDesk Server.
- Se você ainda não usa DNS e quer usar SSL, crie um nome DNS como
rustdesk.yourdomain.com
. - Esta página.
- Copie e cole o comando em seu terminal Linux.
- Siga as instruções que o guiam pela instalação.
- Após a instalação ser concluída, vá para
https://rustdesk.yourdomain.com
ouhttp://youripaddress:21114
. - Faça login com o nome de usuário
admin
e senhatest1234
. - Digite seu código de licença comprado na etapa 1.
Há uma nova versão do RustDesk Server Pro, como posso atualizar?
É melhor fazer backup dos arquivos de dados (arquivos sqlite3, etc.) primeiro, https://github.com/rustdesk/rustdesk-server-pro/discussions/184#discussioncomment-8013375.
-
Se você instalou com script (
install.sh
)
Execute update.sh.
-
Docker Compose
sudo docker compose down
sudo docker compose pull
sudo docker compose up -d
-
Docker
sudo docker ps
sudo docker stop <CONTAINER ID>
sudo docker rm <CONTAINER ID>
sudo docker rmi <IMAGE ID>
sudo docker run ..... # igual a como você instalou antes
Instalei com o script, como posso iniciar e parar serviços?
Os serviços usam systemd então podem ser iniciados e parados usando sudo systemctl stop|start|restart rustdesk-hbbs|rustdesk-hbbr
ex. sudo systemctl restart rustdesk-hbbs
.
Instalei com o script, como posso ver os logs do Linux?
Os logs são armazenados em /var/log/rustdesk-server
, você pode vê-los usando tail /var/log/rustdesk-server/hbbs.log
ou tail /var/log/rustdesk-server/hbbs.error
.
Instalei com o script, como posso verificar o status dos serviços RustDesk?
Para verificar o status sudo systemctl status rustdesk-hbbs|rustdesk-hbbr
ex. sudo systemctl status rustdesk-hbbs
.
Como posso alterar a senha do admin?
- Vá para
https://rustdesk.yourdomain.com
ouhttp://youripaddress:21114
. - Faça login com o nome de usuário
admin
e senhatest1234
. - Clique em
admin
no canto superior direito. - Clique em
Configurações
. - Digite sua nova senha nas caixas fornecidas.
Como posso mover minha licença para um novo servidor?
Veja aqui.
E-mails não estão funcionando do meu VPS
Muitos provedores de VPS bloqueiam as portas 465 e 25.
Uma maneira simples de verificar é usando telnet. Para testar no terminal Linux digite telnet your.mailserver.com 25
. No Windows use PowerShell com Test-NetConnection -ComputerName your.mailserver.com -Port 25
.
Posso implantar RustDesk usando PowerShell ou similar?
Claro, você pode encontrar scripts para auxiliar na implantação aqui.
Como posso relatar um bug?
Relate via GitHub.
Por que se estou auto-hospedando isso não é gratuito e código aberto?
- RustDesk se tornou um trabalho em tempo integral para várias pessoas, elas têm vidas, esposas, empregos e filhos que exigem atenção e custam dinheiro!
- Queremos estar aqui e continuar fazendo grandes progressos nos próximos anos.
- A versão código aberto continuará sendo código aberto e encorajamos outros a fazer desenvolvimentos em linha com a licença AGPL.
Não consigo me conectar a dispositivos em grupos diferentes, por quê?
Isso é facilmente resolvido, você precisa permitir acesso entre grupos.
- Adicione novos grupos.
- Clique em
Editar
. - Selecione os grupos relevantes aos quais você quer acesso.
Como posso obter configurações automaticamente?
As configurações são geradas automaticamente.
- Baixe os clientes mais recentes do GitHub.
- Na página principal do console web clique em
Windows EXE
. - Preencha o host e API (se diferente da sua configuração).
- Clique em
Enviar
. - Escaneie o código QR no Android e renomeie o exe para o que foi gerado.
Vocês oferecem hospedagem para RustDesk Server Pro?
Entre em contato com nossa equipe de vendas.
Há algum lugar onde posso ver guias de configuração em vídeo?
Sim! Temos um Canal do YouTube.
Por que meus logs / nomes de dispositivos estão vazios?
Certifique-se de que a API esteja configurada corretamente no dispositivo controlado, https://github.com/rustdesk/rustdesk-server-pro/issues/21#issuecomment-1637935750.
Como posso desinstalar o RustDesk Server Pro?
Execute os seguintes comandos:
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/
Como posso remover dispositivos da lista de dispositivos no console web?
Desative e então excluir ficará disponível.
Como posso atualizar RustDesk com PowerShell?
$ErrorActionPreference= 'silentlycontinue'
$rdver = ((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RustDesk\").Version)
if ($rdver -eq "1.2.6")
{
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.6/rustdesk-1.2.6-x86_64.exe" -Outfile "rustdesk.exe"
Start-Process .\rustdesk.exe --silent-install -wait
Erro Key mismatch
Configure seu cliente com a chave correta.
Erro Failed to connect to relay server
Certifique-se de que hbbr
esteja rodando. Mais informações sobre hbbr
, você pode encontrar aqui.
Redefinir MFA para conta Admin
https://github.com/rustdesk/rustdesk/discussions/6576
Configurar HTTPS para console web manualmente
1. Compre um nome de domínio e resolva-o para o endereço IP do seu servidor.
- Compre um nome de domínio de um registrador de domínios como GoDaddy, Namecheap ou Namesilo.
- Resolva o nome de domínio para o endereço IP do seu servidor com uma das seguintes opções:
- Painel de controle do seu registrador de domínio (recomendado)
- Provedores de DNS
Por exemplo, se você comprar um nome de domínio example.com
da Namesilo
e o endereço IP do seu servidor for 123.123.123.123
, você deseja usar o subdomínio rustdesk.example.com
como seu endereço de console web HTTPS. Você precisa abrir o link, clicar no botão com dica de ferramenta Manage dns for the domain
, adicionar um registro A
com o nome do host rustdesk
e o endereço IP do seu servidor.
- Leva algum tempo para o DNS ter efeito, https://www.whatsmydns.net e verifique se o nome de domínio foi resolvido para o endereço IP do seu servidor. O passo 6 depende do resultado correto da resolução. Nos próximos passos, substitua
<YOUR_DOMAIN>
pelo seu subdomínio, por exemplo,rustdesk.example.com
.
2. Instalar Nginx
- Debian/Ubuntu:
sudo apt-get install nginx
- Fedora/CentOS:
sudo dnf install nginx
ousudo yum install nginx
- Arch:
sudo pacman -S install nginx
- openSUSE:
sudo zypper install nginx
- Gentoo:
sudo emerge -av nginx
- Alpine:
sudo apk add --no-cache nginx
Execute nginx -h
para verificar se foi instalado com sucesso.
3. Instalar Certbot
- Método 1: Se
snap
estiver instalado, executesudo snap install certbot --classic
. - Método 2: Usando
python3-certbot-nginx
em vez disso, por exemplo,sudo apt-get install python3-certbot-nginx
para Ubuntu. - Método 3: Se os dois métodos acima falharam, tente instalar
certbot-nginx
, por exemplo,sudo yum install certbot-nginx
para CentOS 7.
Execute certbot -h
para verificar se foi instalado com sucesso.
4. Configurar Nginx
Existem duas maneiras:
- Se os diretórios
/etc/nginx/sites-available
e/etc/nginx/sites-enabled
existirem, substitua<YOUR_DOMAIN>
do seguinte comando pelo seu nome de domínio e execute-o.
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
Em seguida, execute sudo ln -s /etc/nginx/sites-available/rustdesk.conf /etc/nginx/sites-enabled/rustdesk.conf
.
Execute cat /etc/nginx/sites-available/rustdesk.conf
para garantir que seu conteúdo esteja correto.
- Se os diretórios
/etc/nginx/sites-available
e/etc/nginx/sites-enabled
não existirem e o diretório/etc/nginx/conf.d
existir, substitua<YOUR_DOMAIN>
do seguinte comando pelo seu nome de domínio e execute-o.
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
Execute cat /etc/nginx/conf.d/rustdesk.conf
para garantir que seu conteúdo esteja correto.
5. Habilitar regras de firewall para o domínio
Execute os seguintes comandos:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable
sudo ufw --force reload
6. Gerar certificado SSL
Substitua $YOUR_DOMAIN
pelo seu nome de domínio e execute
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
.
Se solicitar Enter email address (used for urgent renewal and security notices)
, insira seu endereço de e-mail.
Finalmente, o conteúdo de rustdesk.conf
deve ser assim:
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
}
Aqui estão alguns erros comuns:
- O console imprime
Successfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../default
em vez deSuccessfully deployed certificate for <YOUR_DOMAIN> to /etc/nginx/.../rustdesk.conf
.
O motivo pode ser que o Certbot não encontra o arquivo rustdesk.conf
, você pode tentar uma das seguintes soluções:
- Verifique o resultado do passo 5, execute
sudo service nginx restart
. - Copie as configurações do servidor
server{...}
que contêm<YOUR_DOMAIN>
pararustdesk.conf
e alterelocation{...}
para o conteúdo abaixo.
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
Solução: Adicione outro nome de domínio ao DNS e altere <YOUR_DOMAIN>
para ele, por exemplo, rustdesk2.example.com
. Em seguida, repita os passos 1, 4, 6.
Error getting validation data
Solução: pode ser causado por firewall, consulte https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/faq/#firewall
Aviso: Execute sudo service nginx restart
se você alterar o rustdesk.conf
manualmente.
7. Fazer login na página web
- Abra
https://<YOUR_DOMAIN>
no navegador, faça login usando o nome de usuário padrão "admin" e senha "test1234", depois altere a senha para a sua própria.
8. Adicionar suporte WebSocket Secure (WSS) para o servidor de ID e servidor de retransmissão para habilitar comunicação segura em todas as plataformas.
Adicione a seguinte configuração à primeira seção server
do arquivo /etc/nginx/.../rustdesk.conf
, depois reinicie o serviço Nginx
.
O cliente web pode ser acessado via https://<YOUR_DOMAIN>/web
. Clientes personalizados podem usar WebSocket definindo allow-websocket=Y
nas opções avançadas. Se o cliente personalizado com WebSocket habilitado for usado, ele não utilizará TCP/UDP e só poderá se conectar através de um retransmissor (exceto para conexões diretas de IP). Se apenas este cliente habilitado para WebSocket for usado, o servidor pode fechar as portas 21114 a 21119 e manter apenas a porta 443 aberta.
location /ws/id {
proxy_pass http://127.0.0.1:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
location /ws/relay {
proxy_pass http://127.0.0.1:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
A configuração completa é
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/;
}
location /ws/id {
proxy_pass http://127.0.0.1:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
location /ws/relay {
proxy_pass http://127.0.0.1:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
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
}
{{% notice note %}}
Se você já implantou anteriormente para clientes web e deseja usá-lo em todas as plataformas, você precisa adicionar proxy_read_timeout
.
{{% /notice %}}
9. Contornar CORS se estiver usando o cliente web público RustDesk https://rustdesk.com/web
Você precisa adicionar o seguinte na seção location /
do /etc/nginx/.../rustdesk.conf
para contornar a limitação de CORS dos navegadores. Pule este passo se você estiver usando seu próprio cliente web.
if ($http_origin ~* (https?://(www\.)?rustdesk\.com)) {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
SELinux
Se Waiting for RustDesk Relay service to become active...
aparecer durante a instalação, pode ser causado pelo SELinux:
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'
Firewall
Firewall da nuvem
Se executando em AWS/Azure/Google/DigitalOcean, abra as portas UDP (21116) e TCP (21114-21119) no painel do provedor de nuvem.
Firewall do servidor local
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
sudo firewall-cmd --reload
Após alterar a senha do admin no console web não consigo fazer login. Há uma maneira simples de redefinir a senha?
- Certifique-se de ter
rustdesk-utils
instalado. Se não, pode obtê-lo aqui. - O comando é
rustdesk-utils set_password username password
. Se funcionar, dirá Done.
Adicionar certificado CA raiz no contêiner Docker (para falha TLS com SMTP, OIDC etc.)
https://github.com/rustdesk/rustdesk-server-pro/issues/99#issuecomment-2235014703
Você também precisa executar o comando da pasta onde o banco de dados está, ou seja, /var/lib/rustdesk-server
.
Você também tem os seguintes outros comandos genkeypair
, validatekeypair [public key] [secret key]
, doctor [rustdesk-server]
, reset_email_verification
e reset_2fa_verification
que podem ser usados com rustdesk-utils
.
https://github.com/rustdesk/rustdesk-server-pro/discussions/183