PT
EspañolEnglishFrançaisDeutschPortuguêsItaliano
Entrar Comece grátis
Lightsail

Uma chave suplente para não ficar fora da sua máquina (utilizador de emergência)

Perder a chave SSH ou a palavra-passe de Administrator de uma máquina na AWS é mais fácil do que parece, e quando gere máquinas de vários clientes é uma questão de tempo. Como deixar preparada uma porta de emergência que ninguém possa usar senão você, e o que fazer se já perdeu o acesso.

⏱ 20 minutos ◎ Para todos Atualizado em 29/10/2026

Pense um momento no que aconteceria se amanhã não pudesse entrar numa das suas máquinas. A chave SSH estava no portátil de alguém que já cá não está; a palavra-passe de Administrator foi mudada por um técnico e ninguém a anotou; uma alteração na configuração do SSH correu mal e a porta fechou-se consigo do lado de fora. A máquina continua a funcionar e o site continua aberto, mas já não manda nela, e na AWS ninguém lha abre: não há um "esqueci-me da palavra-passe" nem um suporte que entre por si. O Lightsail tira-o do aperto em Linux (a sua consola web entra com uma chave temporária), mas em Windows só se ninguém tiver alguma vez tocado na palavra-passe, e no EC2 o caminho oficial passa por parar a máquina. Quando isso não serve, restam horas de instantâneos e máquinas novas, no pior momento. Este guia ensina-o a deixar preparada uma porta de emergência antes de precisar dela, feita para que só você a possa usar.

Antes de começar: o que significa cada coisa

Utilizador de emergência
Mais um utilizador administrador na máquina, que não se usa para trabalhar: só para recuperar o acesso aos restantes.
Certificado SSH
Uma "chave com prazo de validade" assinada por uma autoridade em que a máquina confia. Ao contrário de uma chave normal, não é preciso copiá-la para a máquina e pode valer só cinco minutos.
Autoridade de certificação (CA)
A chave que assina esses certificados. A máquina aceita quem trouxer um certificado assinado por ela; sem a CA não se pode fabricar nenhum.
from=
Uma condição na configuração do SSH: esse utilizador só pode entrar a partir de um endereço IP concreto.
sudo / Administrators
A forma de ser administrador em Linux (sudo) e em Windows (grupo Administrators).

Passo a passo

  1. Decida como quer que seja a porta de emergência

    Um utilizador de emergência mal feito é pior do que não o ter: uma palavra-passe anotada num documento partilhado é a primeira porta que um atacante experimenta. O que procuramos: que não tenha palavra-passe, que só admita certificados assinados por si e de curta duração, e se possível que só aceite ligações a partir de um IP fixo seu. Assim, mesmo que alguém conheça o nome do utilizador, não tem nada para experimentar.

  2. Crie uma autoridade de certificação (uma só vez)

    No seu computador, não na máquina:

    ssh-keygen -t ed25519 -f ca_rescate -C "CA de rescate"

    Guarde ca_rescate (a privada) num sítio seguro: um gestor de palavras-passe ou um disco cifrado. Nunca a copie para as máquinas. O ficheiro ca_rescate.pub é o que irá para cada máquina.

  3. Prepare a máquina Linux

    Entre por SSH como sempre (ainda pode) e, com sudo:

    sudo useradd -m -s /bin/bash -c "Usuario de rescate" rescate
    sudo usermod -p "*" rescate          # sin contraseña valida, sin bloquear
    echo "rescate ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/90-rescate
    sudo chmod 440 /etc/sudoers.d/90-rescate
    sudo cp ca_rescate.pub /etc/ssh/ca_rescate.pub
    echo 'from="TU.IP.FIJA" rescate' | sudo tee /etc/ssh/principales_rescate

    E em /etc/ssh/sshd_config (ou num ficheiro em /etc/ssh/sshd_config.d/), no início:

    TrustedUserCAKeys /etc/ssh/ca_rescate.pub
    AuthorizedPrincipalsFile /etc/ssh/principales_rescate

    Verifique e recarregue: sudo sshd -t && sudo systemctl reload ssh. O utilizador rescate não tem palavra-passe e só aceita certificados da sua CA, e só a partir do seu IP se pôs from=.

  4. Prepare a máquina Windows

    O Windows Server 2019 e posteriores trazem o OpenSSH como funcionalidade opcional. No PowerShell como administrador: Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0, arranque o serviço sshd e abra a porta 22 na firewall do Windows e na do Lightsail ou EC2 (só para o seu IP). Crie o utilizador com uma palavra-passe aleatória longa que não anote em lado nenhum (não o crie sem palavra-passe: o Windows bloqueia por defeito o acesso por rede das contas com palavra-passe em branco, e o OpenSSH conta como acesso por rede), meta-o em Administrators, copie ca_rescate.pub e o ficheiro de principais para C:\ProgramData\ssh\ e, no sshd_config dessa mesma pasta, ponha as mesmas duas linhas que em Linux (os caminhos com __PROGRAMDATA__/ssh/). Um detalhe que faz perder horas: o OpenSSH do Windows rejeita os ficheiros de autenticação que outros utilizadores possam ler, por isso retire-lhes a herança de permissões e deixe só Administrators e SYSTEM: icacls FICHERO /inheritance:r /grant Administrators:F /grant SYSTEM:F. Reinicie o sshd. Se quiser que ao entrar apareça o PowerShell em vez do cmd, defina a chave de registo HKLM:\SOFTWARE\OpenSSH\DefaultShell para powershell.exe.

  5. Teste a porta antes de precisar dela

    Gere uma chave normal e assine-a com a CA por cinco minutos:

    ssh-keygen -t ed25519 -f temporal -N ""
    ssh-keygen -s ca_rescate -I "prueba" -n rescate -V +5m temporal.pub
    ssh -i temporal rescate@IP.DE.LA.MAQUINA sudo -n true && echo OK

    Se vir OK, a porta funciona. Passados cinco minutos o certificado deixa de valer sozinho: não há nada para revogar nem apagar.

  6. Se já perdeu o acesso: o que fazer com a porta aberta

    Entre com um certificado novo e arranje o administrador: em Linux sudo passwd ubuntu (ou o utilizador que for) ou acrescente a sua chave pública nova ao seu ~/.ssh/authorized_keys; em Windows net user Administrator NUEVA-CONTRASEÑA. Se a conta estava bloqueada, sudo passwd -u usuario ou net user usuario /active:yes.

  7. E se não tinha porta de emergência

    Linux no Lightsail: a consola web do Lightsail entra com uma chave temporária, por isso a partir daí pode fazer o do passo anterior. Windows no Lightsail: a consola dá-lhe a palavra-passe de Administrator só se ninguém a mudou; senão, há que criar um instantâneo e uma máquina nova. EC2: o procedimento oficial AWSSupport-ResetAccess do Systems Manager repõe a palavra-passe ou a chave parando e arrancando a máquina.

  8. E se também não há instantâneo

    É o fim da cadeia e convém olhá-lo de frente: se não se pode entrar e não existe nenhuma cópia da máquina, perde-se tudo o que há lá dentro. A aplicação, a base de dados, os ficheiros, as configurações. A AWS não pode entrar por si nem recuperar o que não foi copiado, e não há um serviço técnico a quem ligar. Por isso a porta de emergência e os instantâneos automáticos não são duas opções entre as quais escolher: são as duas coisas que separam um susto de uma hora de perder o negócio de um cliente.

O que pode correr mal

"Permission denied" apesar de o certificado estar correto

Quase sempre é o from=: está a entrar a partir de outro IP. Ou o utilizador tem o campo da palavra-passe bloqueado com ! (o useradd deixa-o assim por defeito em alguns sistemas): ponha-lhe * com usermod -p "*".

"Certificate invalid: not yet valid" no registo do sshd

O relógio da máquina está atrasado. Um certificado de minutos tem uma hora de início, e se o servidor achar que ainda não chegou, rejeita-o com um Permission denied que não explica nada: só se vê com LogLevel DEBUG. Em Linux, timedatectl diz-lhe se está sincronizado e chronyc makestep corrige-o; em Windows, w32tm /resync. Ao assinar, deixe sempre uma margem para trás (-V -15m:+5m): um início anterior não alarga nada de perigoso, porque a validade final continua a ser a mesma.

A máquina já usava TrustedUserCAKeys

É o caso de todas as máquinas Lightsail: a sua consola web funciona com uma autoridade própria, e só pode haver uma diretiva TrustedUserCAKeys. Não a mude, ou perderá a consola do Lightsail. Em vez disso, ponha a autoridade no authorized_keys do próprio utilizador de emergência, que convive com qualquer outra: cert-authority,principals="rescate",from="TU.IP.FIJA" ssh-ed25519 AAAA… (o conteúdo de ca_rescate.pub a seguir às opções).

Alguém apagou o utilizador de emergência

Quem é administrador pode retirá-lo, é inevitável. A defesa é verificá-lo todos os dias (uma ligação de teste) e avisar se falhar, para o refazer enquanto ainda tem acesso.

E se me roubarem a CA?

Quem tiver a CA pode fabricar certificados para todas as suas máquinas. Por isso vai num gestor de palavras-passe e não num e-mail, e por isso o from= importa: sem o seu IP, a CA sozinha não serve. Se suspeitar, gere outra CA e repita o passo de preparação em cada máquina.

No Simplio

No Simplio isto chama-se chave suplente: cada cartão de máquina tem esse botão. "Criar chave suplente" deixa na máquina o utilizador simplio-rescate sem palavra-passe utilizável, que só aceita certificados de cinco minutos assinados pelo Simplio e só a partir do IP do Simplio; em Linux fá-lo o Simplio por SSH, em Windows dá-lhe um script para colar uma vez. Se perder o acesso, "Resgatar com a chave suplente": com o seu código do duplo fator (também se for administrador) escolhe o utilizador a recuperar (ou pede para ver que utilizadores há) e o que fazer: uma palavra-passe nova que se mostra uma só vez e não se guarda, acrescentar a sua chave pública, desbloqueá-lo, ou uma consola como simplio-rescate. O Simplio verifica todos os dias que a chave continua a abrir e avisa-o se alguém a tiver retirado. Como funciona a chave suplente e que segurança tem.

O mesmo, na AWS e no Simplio

Na consola da AWSNo Simplio
Preparar a portaCriar a CA, o utilizador, o sudo, os dois ficheiros e as diretivas do SSH em cada máquina, à mãoUm botão "Criar chave suplente" no cartão: o Simplio fá-lo por SSH (Linux) ou dá-lhe o script para colar uma vez (Windows)
Guardar a CAVocê, num gestor de palavras-passeNo servidor do Simplio, no ficheiro de segredos; as máquinas só aceitam o utilizador de emergência a partir do IP do Simplio
Usá-laAssinar um certificado à mão e entrar por SSHDuplo fator, certificado de cinco minutos automático, e ações guiadas: palavra-passe nova (mostra-se uma vez), chave pública, desbloquear
Saber que continua a funcionarLembrar-se de a testarVerificação diária e aviso se a chave suplente deixar de funcionar
Não saber que utilizador recuperarEntrar e ver /home ou as contas do Windows"Ver que utilizadores há na máquina": lista com pasta, administrador e último acesso

Experimentar grátis 15 dias Ver como funciona

Tudo isto, sem a consola da AWS

O Simplio é um painel em português para gerir as suas contas AWS: máquinas, cópias programadas, bases de dados, domínios, e-mail e o que a AWS lhe cobra, com permissões por pessoa e duplo fator. Sem instalar nada nos seus servidores.

Comece grátis 15 dias, sem cartão

Já é cliente? Acesso de clientes.