VPNSmith
VPS Contabo
self-host-vpnINFO

Chave pré-compartilhada WireGuard: o que acrescenta (não é senha)

A chave pré-compartilhada (preshared key) é opcional, gera-se com um só comando, e quase todos os guias ou a ignoram ou a descrevem mal como autenticação extra. Não é nenhuma das duas coisas. É uma proteção contra um futuro atacante com um computador quântico, e eis como a acrescentar sem partir um túnel em produção.

Por Eric Gerard · Fundador · VPNSmith - Especialista em VPN auto-hospedada e VPS RGPD5 min de leituraFoto via Pexels

Cada peer WireGuard já tem um par de chaves, por isso a primeira pergunta razoável sobre PresharedKey é o que uma terceira chave deveria acrescentar.

A resposta é estreita e específica, e vale a pena formulá-la com precisão, porque as duas descrições mais comuns estão ambas erradas.

O que não é

Não é uma senha no túnel. As pessoas acrescentam-na à espera de que a ligação exija um segredo, da mesma forma que o SSH exige uma passphrase. Não é esse o funcionamento.

Não substitui nada. Acrescentar uma chave pré-compartilhada não te permite usar chaves mais fracas, dispensar regras de firewall nem expor a porta com mais segurança.

O que é

O handshake do WireGuard deriva as chaves de sessão a partir das chaves públicas e privadas dos dois peers. Se houver uma chave pré-compartilhada configurada, ela é misturada nessa derivação como entrada adicional.

A consequência é todo o objetivo: a chave pré-compartilhada é simétrica e nunca é enviada pela rede. Um atacante que grave hoje cada pacote do teu tráfego, e que mais tarde adquira a capacidade de quebrar a troca por curva elíptica, continua sem conseguir derivar as chaves de sessão, porque uma das entradas nunca atravessou a rede.

A documentação do WireGuard descreve isto como resistência pós-quântica, e essa formulação é exata desde que mantenhas o modelo de ameaça em vista. O adversário contra o qual te defendes é aquele que armazena o tráfego agora e o desencripta mais tarde. Se ninguém estiver a gravar o teu túnel, isto não te defende de nada, e mesmo assim acrescentá-la quase não te custa nada.

Gerar e instalar uma

wg genpsk

Isto imprime uma chave de 32 bytes codificada em base64. Para a gerar e guardar num só passo:

wg genpsk > peer1.psk
chmod 600 peer1.psk

Vai na secção [Peer], nas duas máquinas, com o mesmo valor:

[Peer]
PublicKey = <the other side's public key>
PresharedKey = <the same value on both ends>
AllowedIPs = 10.10.0.2/32

Uma chave pré-compartilhada por par de peers, não uma por servidor. Reutilizar um único valor em todos os clientes significa que qualquer um deles tem a chave que protege todos os outros.

Se criaste os teus ficheiros com o nosso gerador de configuração WireGuard, fica a saber o que ele faz e não faz aqui: gera os pares de chaves no teu navegador e escreve o [Interface] do servidor, os blocos [Peer] e um ficheiro de cliente por dispositivo, mas não emite nenhuma linha PresharedKey. Executa wg genpsk uma vez por cliente e cola o mesmo valor no bloco [Peer] desse cliente nas duas extremidades antes de entregares o ficheiro, e as configurações ficam completas. O gerador é gratuito até 10 dispositivos; acima disso, o WireGuard Pro (o nosso próprio produto, 9 EUR uma única vez, sem subscrição) sobe o limite para 250 e acrescenta um ZIP com cada .conf de cliente e o respetivo código QR em PNG, prático para configurar um escritório inteiro ou uma família de uma só vez.

Uma grelha de cerca de vinte pequenas chaves antigas de latão de formas diferentes, dispostas em três filas alinhadas sobre uma superfície de mármore cinzento-escuro com veios brancos
Uma grelha de cerca de vinte pequenas chaves antigas de latão de formas diferentes, dispostas em três filas alinhadas sobre uma superfície de mármore cinzento-escuro com veios brancos

Acrescentar uma a um túnel ativo sem ficares trancado fora

É aqui que as pessoas se queimam. Uma chave pré-compartilhada que só coincide de um lado significa que o handshake deixa de completar, e o WireGuard não te diz porquê. wg show indica que não há handshake recente, a mesma saída que obténs com uma porta errada, um bloqueio de firewall ou uma chave pública errada.

Se o túnel for o teu único caminho até um servidor remoto, isso é ficar trancado fora.

A ordem segura:

  1. Gera a chave e coloca-a primeiro nas duas máquinas, sem editar nenhuma das configurações.
  2. Se tiveres acesso fora de banda, uma consola ou IPMI, usa-o e edita os dois lados.
  3. Se não tiveres, agenda uma reversão. Algo como echo "wg-quick down wg0 && wg-quick up wg0" | at now + 10 minutes com a configuração original no disco, para que um erro se corrija sozinho enquanto ainda tens uma forma de entrar.
  4. Edita o lado remoto, depois o lado local, e confirma com wg show que ocorreu um handshake nos últimos dois minutos.

O sintoma geral, um túnel que funcionava e agora não mostra handshake, é tratado na resolução de problemas de handshake. Acrescenta "um lado tem chave pré-compartilhada e o outro não" a essa lista.

Onde ficam as chaves pré-compartilhadas face a todo o resto

Não fazem nada pela visibilidade do túnel. Uma rede que bloqueia o WireGuard pela forma do tráfego bloqueia-o da mesma maneira. É um problema diferente com respostas diferentes: vê o guia anti-DPI.

Não fazem nada quanto a quem consegue chegar à porta. Esconder o endpoint é uma técnica à parte, tratada em port knocking e VPN furtiva.

Devem ser tratadas como material criptográfico. Nada de mensagens de chat, nada de documentos partilhados, nada de commits num repositório. Uma chave pré-compartilhada num histórico git é pior do que nenhuma chave pré-compartilhada, porque gera uma confiança que não assenta em nada.

Se estás a montar o lado do servidor de raiz, o guia completo está em auto-hospedar WireGuard num VPS, e acrescentar clientes mais tarde é tratado em adicionar um peer WireGuard. Se ainda precisas da máquina, esse guia foi escrito num Contabo Cloud VPS (link de afiliado).

Se preferires um alojamento norte-americano com garantia de reembolso de 30 dias, o Ultahost VPS Basic custa 5,52 $ por mês num prazo de 24 meses (1 GB de RAM, IPv4 dedicado, consultado a 21 de outubro de 2026), suficiente para um servidor WireGuard para alguns dispositivos.

★ Datacenter GDPR em Nuremberg · ✓ IPv4 dedicado incluído · porta de 200 Mbit/s

Aloje a sua VPN no seu próprio VPS → ContaboAcesso root completo · IPv4 público · escolha a sua região→

Perguntas frequentes

Uma chave pré-compartilhada WireGuard é obrigatória?
Não. O WireGuard funciona perfeitamente sem ela, e o par de chaves pública e privada já assegura a autenticação e a encriptação. A chave pré-compartilhada é uma camada extra opcional misturada no handshake.
Contra o que protege realmente uma chave pré-compartilhada?
Está documentada como proteção contra um futuro atacante que grava hoje o teu tráfego encriptado e o desencripta mais tarde com um computador quântico. Como a chave pré-compartilhada é simétrica e nunca é transmitida, um atacante que quebre a troca de chaves públicas continua sem conseguir derivar as chaves de sessão sem ela.
Uma chave pré-compartilhada acrescenta autenticação?
Não da forma que as pessoas esperam. Não é uma segunda senha na ligação, e perdê-la não bloqueia ninguém por si só. É misturada na derivação de chaves, por isso um peer com a chave pré-compartilhada errada simplesmente não consegue estabelecer uma sessão.
Posso acrescentar uma chave pré-compartilhada a um túnel WireGuard existente?
Sim, mas os dois lados têm de ser atualizados. A chave vai na secção do peer em cada extremidade e as duas entradas têm de coincidir exatamente. Se mudares só um lado, o handshake deixa de completar, sem nenhuma mensagem de erro a explicar porquê.