CH-J Server Managergerenciamento de servidor sobre SSH
E-mail
Todos os guias e artigos →

A chave SSH do servidor mudou: o que significa o aviso e o que fazer

Descubra porque é que um servidor apresenta uma nova chave, verifique-a por outro canal e substitua a entrada guardada em segurança.

O que diz o aviso

Um servidor comprova a sua identidade com uma chave do servidor. Quando a chave é diferente da que o cliente guardou anteriormente, o OpenSSH mostra REMOTE HOST IDENTIFICATION HAS CHANGED e recusa a ligação. O cliente não consegue distinguir uma alteração inofensiva de um ataque, por isso considere o aviso por resolver até o verificar.

Causas comuns

As causas habituais são um servidor reinstalado, uma máquina virtual restaurada ou clonada a partir de uma imagem, um endereço agora atribuído a outra máquina e um balanceador de carga que o encaminha para nós diferentes. Um atacante que intercepte a ligação provoca o mesmo aviso. Se não esperava uma alteração, pare e não introduza uma palavra-passe.

Compare as impressões digitais

Leia a impressão digital real no servidor através de um canal que não dependa desta ligação SSH, como a consola do fornecedor ou uma consola do hipervisor. O comando ssh-keyscan apenas mostra o que a rede lhe apresenta, pelo que, por si só, nada prova. Só é útil para comparar com o valor obtido na consola.

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -

Substitua a entrada antiga

Só depois de as impressões digitais coincidirem deve remover a entrada antiga e voltar a ligar-se. Uma porta não padrão tem a sua própria entrada escrita com parênteses retos. O ssh-keygen mantém o ficheiro anterior como known_hosts.old. Não desative StrictHostKeyChecking nem apague todo o ficheiro known_hosts, pois isso remove a proteção de todos os seus servidores.

ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.example

Evite o aviso após uma reinstalação

Se planeia reconstruir um servidor e pretende manter a sua identidade, faça uma cópia de segurança das chaves do servidor em /etc/ssh de forma segura e restaure-as com o mesmo proprietário e permissões. Faça o contrário com os clones: cada máquina criada a partir de uma imagem precisa das suas próprias chaves do servidor, caso contrário vários servidores partilham uma única identidade.

Chaves do servidor no CH-J Server Manager

A aplicação guarda as impressões digitais SHA-256 das chaves do servidor no seu cofre cifrado, separadamente do ficheiro known_hosts do OpenSSH. Quando há uma alteração, bloqueia a ligação e mostra a impressão digital conhecida e a nova. A entrada só é substituída se confirmar, e cancelar não altera nada. Em Alpha 0.1.1, a verificação também abrange cada servidor de salto, e uma transferência em curso para quando a chave muda. A aplicação não pode verificar a nova impressão digital por si, pelo que a verificação através de outro canal continua a ser sua responsabilidade.

Documentação detalhada

OpenSSH: ssh →

OpenSSH: ssh-keygen →

Desbloqueio biométrico e segurança →