Observe que a questão é corrigir a mensagem "REMOTE HOST IDENTIFICATION HAS CHANGED!" problemano lado do servidor.
Eu conheço a implicação e sei exatamente o que estou fazendo -
- Estou reinstalando/atualizando meu servidor e quero que o processo seja o mais tranquilo possível.
- Durante a reinstalação/atualização, talvez seja necessário inicializar a versão antiga ou nova várias vezes.
Portanto, preciso eliminar ao máximo o aviso do lado do cliente. Caso contrário, preciso virar meu ~/known_hosts
arquivo desnecessariamente.
Então, como definir a chave de impressão digital/ECDSA do meu novo servidor da mesma forma que antes?
Responder1
Atualização: depois de pensar um pouco sobre isso, acho que mudarei minha recomendação para copiar apenas os arquivos principais e as entradas de configuração que se referem a eles. Os arquivos de chave estão todos em /etc/ssh/ e são nomeados ssh_host_<keytype>_key
e cada um possui um arquivo de chave pública correspondente com uma .pub
extensão. Aqui está um exemplo com chaves dsa, ecdsa, ed25519 e rsa:
$ cd /etc/ssh
$ ls -l ssh_host_*key*
-rw------- 1 root root 668 Apr 8 03:43 ssh_host_dsa_key
-rw-r--r-- 1 root root 606 Apr 8 03:43 ssh_host_dsa_key.pub
-rw------- 1 root root 227 Apr 8 03:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 178 Apr 8 03:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root 411 Apr 8 03:43 ssh_host_ed25519_key
-rw-r--r-- 1 root root 98 Apr 8 03:43 ssh_host_ed25519_key.pub
-rw------- 1 root root 1679 Apr 8 03:43 ssh_host_rsa_key
-rw-r--r-- 1 root root 398 Apr 8 03:43 ssh_host_rsa_key.pub
E pode haver HostKey
entradas em /etc/ssh/sshd_config informando ao sshd para usá-las. No meu caso, os arquivos são apenas os padrão, então as linhas relevantes estão comentadas:
$ grep HostKey /etc/ssh/sshd_config
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
Você deve ser capaz de clonar os arquivos principais do servidor original (certifique-se de corresponder às permissões antigas) e, se houver entradas não comentadas, você também HostKey
deverá adicioná-las ao novo arquivo de configuração . sshd_config
Se você tiver outras configurações não padrão, copie-as também.
Originalmente, eu recomendei apenas clonar o /etc/ssh/
diretório inteiro do servidor antigo para o novo. Isso tem a vantagem de copiar automaticamente quaisquer alterações adicionais nas configurações feitas. A desvantagem (e a razão pela qual decidi não recomendá-la) é que a configuração antiga pode não incluir alterações feitas para melhorar a segurança.
Por exemplo, sua configuração antiga pode não ter um arquivo /etc/ssh/moduli com módulos Diffie-Hellman personalizados, e a nova versão do sistema operacional pode não gerar um automaticamente. Isso seria um problema porque o módulo padrão não é muito seguro e como todos costumavam usar o mesmo, um ataque a ele seria um ataque a todos. Veraquieaquipara mais algumas informações.
Se a configuração "antiga" do seu servidor não for muito antiga, ele já deverá ter um arquivo de módulos personalizado, mas isso é apenas um exemplo; provavelmente há outras coisas que devem ser atualizadas, portanto, usar uma configuração mais nova provavelmente é melhor. Aliás, usar módulos diferentes não causará um erro do tipo "ID CHANGED", portanto, se esse arquivo existir no servidor antigo, você não precisará copiá-lo.