Como subir rapidamente seu próprio servidor AmneziaWG2 em uma VPS
Se você quer o caminho mais rápido para ter seu próprio servidor VPN sem ficar fazendo instalação manual no console, o fluxo self-hosted do Amnezia é uma das opções mais práticas. Você cria uma VPS, dá acesso SSH ao app, escolhe o protocolo, e o cliente se conecta ao servidor e instala sozinho tudo o que precisa.
Neste guia, o cenário principal usa DigitalOcean, porque ali o processo é o mais direto possível. Mais abaixo, eu também explico o que fazer se você usa AWS, Azure ou Google Cloud Platform — principalmente na parte de chaves SSH e abertura da porta correta.
Um detalhe importante desde já: em algumas etapas da interface do Amnezia, pode aparecer apenas Amnezia WireGuard, sem destaque para a versão. Mas no fluxo self-hosted atual, em clientes compatíveis, o que você instala no fim é o AmneziaWG 2.0.
Caminho rápido
Se você não precisa dos detalhes, o fluxo inteiro é este:
- criar uma VPS;
- preparar uma chave SSH;
- adicionar a public key no provedor;
- copiar a private key, o IP e o username;
- instalar o Amnezia;
- escolher Self-hosted VPN;
- colar o IP, o username e a private key;
- escolher Manual → Amnezia WireGuard;
- definir a porta;
- esperar a instalação;
- conectar e conferir se o IP mudou.
Abaixo vai a explicação passo a passo, do jeito certo.
O que você vai precisar
- uma VPS com IP público
- acesso SSH ao servidor
- uma chave SSH
- o app Amnezia instalado
- 3 a 5 minutos
Public key e private key: não confunda
Esse é o erro mais comum.
Quando você gera uma chave SSH, surgem dois arquivos:
- private key — a chave privada, que fica só com você;
- public key — a chave pública, que você adiciona no painel do provedor.
No caso mais comum:
- o arquivo com extensão
.pubé a public key; - o arquivo sem
.pubé a private key.
Na prática, isso significa:
- no DigitalOcean e muitas vezes no Google Cloud, você envia a public key;
- no Amnezia, você cola a private key;
- na AWS e no Azure, o portal pode gerar as chaves para você, então a lógica muda um pouco — explico isso mais abaixo.
DigitalOcean: o cenário mais simples
Para esse tipo de guia, DigitalOcean realmente é uma das opções mais simples.
Passo 1. Crie uma chave SSH
Se você já tem uma chave SSH separada para esse servidor, ótimo — use ela. Se não, crie uma nova.
Comando básico:
ssh-keygen
Depois disso, o sistema vai mostrar onde salvou as chaves. O que você precisa agora é justamente a public key, ou seja, o arquivo com .pub.
Para exibir no terminal e copiar:
cat ~/.ssh/NOME_DA_CHAVE.pub
Se você deixou o nome padrão, o caminho normalmente vai ser algo como:
cat ~/.ssh/id_ed25519.pub
Passo 2. Adicione a public key no DigitalOcean
No DigitalOcean, a public key é enviada para a conta e depois vinculada ao novo droplet durante a criação.
Caminho oficial: DigitalOcean Control Panel → Settings → Security → Add SSH Key
Instruções oficiais:
- Add SSH keys to a team: https://docs.digitalocean.com/platform/teams/how-to/upload-ssh-keys/
- Create a Droplet: https://docs.digitalocean.com/products/droplets/how-to/create/
- Add SSH keys to new or existing Droplets: https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/
Nem é preciso sair da página de criação do droplet: ali existe um botão New SSH Key que faz a mesma coisa.
Passo 3. Crie o droplet
Para o primeiro setup, isso já basta:
- Ubuntu
- qualquer plano básico
- autenticação por SSH key
- a public key que você criou
Depois que o droplet ficar pronto, você vai precisar de:
- o IP público
- o username
- a sua private key
No DigitalOcean, o username padrão em um droplet Ubuntu costuma ser root.
Instale o Amnezia
Enquanto a VPS está sendo criada, você já pode baixar o cliente.
Página de download: https://amnezia.org/
O Amnezia tem versões para:
- Windows
- macOS
- Linux
- Android
- iOS
Instale o app, abra e toque em Let’s get started.
Configurando o AmneziaWG2 self-hosted
Passo 1. Escolha Self-hosted VPN
Dentro do app, escolha:
Self-hosted VPN
Depois disso, você vai precisar de três coisas:
- o IP do servidor
- o username
- a private SSH key
Passo 2. Cole a private key
Aqui você precisa da private key, e não do arquivo .pub.
Por exemplo, se a sua public key for:
~/.ssh/id_ed25519.pub
então a private key normalmente será:
~/.ssh/id_ed25519
Para exibi-la:
cat ~/.ssh/id_ed25519
Copie o conteúdo inteiro e cole no Amnezia.
Passo 3. Informe o username
No DigitalOcean, normalmente isso será:
root
Em outros provedores, o username pode ser diferente, então não preencha root automaticamente em todo lugar.
Passo 4. Informe o IP
Copie o IP público da VPS no painel do provedor e cole no Amnezia.
Passo 5. Escolha Manual → Amnezia WireGuard
Na etapa seguinte, o app vai perguntar o tipo de instalação. Escolha:
- Manual
- depois Amnezia WireGuard
É aqui que muita gente se confunde com o nome: a interface pode não destacar “version 2”, mas no fluxo self-hosted atual isso é AWG 2.0, desde que o cliente suporte a versão nova.
Instrução oficial do AmneziaWG 2.0 para self-hosted: https://docs.amnezia.org/ru/documentation/instructions/new-amneziawg-selfhosted/
Passo 6. Defina a porta
No vídeo foi usada a porta 8080, e para um primeiro setup prático ela é perfeitamente aceitável.
O importante aqui é entender que:
- essa é a porta do servidor VPN, não a porta do SSH;
- se o protocolo não sobe, o problema muitas vezes não é o protocolo em si, mas o fato de a porta estar fechada;
- se uma porta específica não funcionar, normalmente é mais rápido testar outra do que sair investigando uma causa de rede mais complicada logo de cara.
Troubleshooting oficial para AmneziaWG self-hosted: https://docs.amnezia.org/troubleshooting/self-hosted-amneziawg-not-working/
Lá eles recomendam explicitamente testar outra porta abaixo de 9999, como 585 ou 1234, se houver problema.
Passo 7. Espere a instalação automática
Depois disso, o Amnezia vai:
- se conectar ao servidor via SSH;
- instalar tudo o que for necessário;
- preparar a configuração;
- adicionar a conexão dentro do app.
Essa é justamente a principal vantagem do fluxo self-hosted: você não precisa instalar tudo manualmente no console.
Passo 8. Conecte e confira o IP
Quando a instalação terminar, vai aparecer o botão Connect.
Depois:
- toque em Connect;
- espere o túnel subir;
- abra qualquer serviço de verificação de IP;
- atualize a página e confira se o IP agora é o da sua VPS.
Se o IP mudou para o IP do seu servidor, o setup básico está pronto.
E se você não estiver usando DigitalOcean?
Abaixo vai um resumo prático para outros provedores populares.
AWS: chaves SSH e porta
Na AWS EC2, o fluxo é diferente do DigitalOcean.
Chaves SSH na AWS
Na AWS, você não precisa necessariamente gerar a chave SSH localmente antes. Ao criar uma instância EC2, você pode:
- selecionar um key pair já existente;
- ou criar um novo key pair direto no console.
Ao criar um novo key pair, a AWS deixa você baixar a private key (por exemplo, um arquivo .pem) uma única vez. A public key fica vinculada à instância automaticamente.
Documentação oficial:
Então, na AWS, o caminho mais simples é:
- criar o key pair durante o lançamento da EC2;
- baixar a private key;
- usar essa private key no Amnezia.
Onde abrir a porta na AWS
Na AWS, você precisa de um Security Group com uma regra de entrada para a porta UDP necessária.
Caminho: EC2 → Instance → Security Group anexado → Edit inbound rules
Documentação oficial:
- Change security groups: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html
- Security group rules reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html
Se a regra de entrada UDP não estiver criada, o servidor pode até instalar normalmente, mas conexões externas não vão funcionar.
Azure: chaves SSH e porta
No Azure, o fluxo também é relativamente conveniente.
Chaves SSH no Azure
O Azure consegue gerar e armazenar chaves SSH direto no portal. Isso é útil se você não quiser criar a chave manualmente na sua máquina antes.
Documentação oficial:
- Generate and store SSH keys in Azure portal: https://learn.microsoft.com/en-us/azure/virtual-machines/ssh-keys-portal
- Connect to a Linux VM: https://learn.microsoft.com/en-us/azure/virtual-machines/linux-vm-connect
Então, no Azure, você tem dois caminhos:
- usar sua public key já existente;
- deixar o Azure gerar as chaves ao criar a VM.
Nos dois casos, o que o Amnezia vai precisar no final é da private key.
Onde abrir a porta no Azure
No Azure, a abertura da porta normalmente acontece por:
- Networking
- e/ou Network Security Group (NSG)
Documentação oficial:
- Network security groups overview/tutorial: https://learn.microsoft.com/en-us/azure/virtual-network/tutorial-filter-network-traffic
- NSG management: https://learn.microsoft.com/en-us/azure/virtual-network/manage-network-security-group
Na prática, você precisa de uma regra de entrada para a sua porta UDP.
Google Cloud Platform: onde costuma haver mais confusão
É aqui que geralmente aparecem as partes menos óbvias.
Chaves SSH no GCP
O Google Cloud tem dois modelos diferentes de acesso SSH:
- OS Login
- metadata-based SSH keys
É justamente por isso que no GCP muita gente fica com a sensação de que “as chaves estão escondidas em algum lugar”.
Se o OS Login não estiver sendo usado, a public SSH key pode ser adicionada:
- ou no project metadata,
- ou no instance metadata de uma VM específica.
Documentação oficial:
- Add SSH keys / access overview: https://docs.cloud.google.com/compute/docs/access
- Troubleshooting SSH errors: https://docs.cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh-errors
Se você só precisa de SSH em uma VM específica, normalmente é mais prático usar o instance metadata do que adicionar a chave no nível do projeto.
Onde abrir a porta no GCP
No Google Cloud, você não abre a porta principalmente “dentro da VM”. O ponto principal de controle são as VPC firewall rules.
Documentação oficial:
- Firewall rules overview: https://docs.cloud.google.com/firewall/docs/firewalls
- Using firewall rules: https://docs.cloud.google.com/firewall/docs/using-firewalls
Na prática, o fluxo é este:
- abrir o VPC firewall;
- criar uma regra;
- liberar a porta UDP necessária;
- aplicar a regra à VM / target tags / rede corretos.
Esse é um dos motivos mais comuns para um setup no GCP parecer “instalado corretamente”, mas continuar sem aceitar conexão externa.
Quais portas escolher
Não existe uma porta “melhor” universal aqui.
Uma abordagem prática é a seguinte:
Para o primeiro setup
- escolha uma porta UDP clara;
- abra essa porta no cloud firewall / security group / NSG / VPC firewall;
- use essa mesma porta no setup e não complique o primeiro deploy.
Se não funcionar
Cheque nesta ordem:
- a porta está aberta no nível do provedor?
- você escolheu o protocolo certo?
- colou a chave correta?
- o username está certo?
- você está usando o IP público, e não um IP interno?
- não é mais rápido simplesmente trocar a porta?
Se você quer cortar rapidamente uma possível causa de rede, o passo mais útil costuma ser testar outra porta UDP.
Erros mais comuns
Confundir public key com private key
É o erro número um.
A regra simples:
.pub→ vai para o painel do provedor- sem
.pub→ vai para o Amnezia
Username errado
No DigitalOcean normalmente é root, mas na AWS, Azure, GCP e em diferentes imagens isso pode mudar.
Porta UDP não aberta
O servidor pode ser instalado corretamente, mas o tráfego externo não vai passar.
IP errado
O Amnezia precisa do IP público, e não do endereço interno da VM.
Começar a mexer demais cedo demais
Se a conexão básica ainda não funciona, não saia ajustando tudo de uma vez. Primeiro faça uma conexão normal funcionar.
O que fazer depois
Depois do primeiro servidor AWG2 funcionando, os próximos tópicos lógicos são:
- configurações do AmneziaWG2
- comparação entre AWG2 vs WireGuard vs VLESS Reality
- instalação rápida do VLESS Reality
- roteamento via Cloudflare WARP
- cenários server-side mais avançados
Ou seja: este material é um ponto de entrada — como subir rapidamente um AWG2 self-hosted funcional — e não um curso completo de administração de VPN em servidor.
Resumo curto
Se você quer o caminho mais rápido na prática, é este:
- cria uma VPS;
- obtém acesso SSH;
- adiciona a public key no provedor;
- cola a private key, o IP e o username no Amnezia;
- escolhe Manual → Amnezia WireGuard;
- define a porta;
- espera a instalação;
- conecta;
- confere o IP.
No DigitalOcean, esse é o caminho mais direto e visual. Na AWS e no Azure, o portal pode facilitar a geração das chaves. No Google Cloud, a maior confusão normalmente fica na parte do modelo SSH e das regras de VPC firewall.
Mas se você tiver em mente três coisas — a chave certa, o username certo e a porta UDP aberta — o fluxo self-hosted inicial fica bem simples.