Ao usar o PuTTY para conectar-se a um novo host, muitas vezes recebo o aviso
A chave do host do servidor não corresponde àquela que o PuTTY armazenou em cache no registro.
depois que eu pressiono
Sim
PuTTY adiciona a chave RSA do servidor ao registro do Windows 10, e poderei fazer login no servidor remoto e o aviso não aparecerá novamente.
Eu sei que a chave RSA vem em pares, tanto públicos quanto privados. O que estou tentando entender é qual chave o servidor salvou em minha máquina local, a chave pública do servidor, eu acho.
Além disso, quando o PuTTY fez a conexão SSH inicial com o servidor, como o servidor decide qual chave encaminhar? Suponha que o servidor possua uma lista de chaves públicas. Existe uma chave genérica para qualquer cliente que tente fazer as conexões?
E onde essa chave genérica está armazenada no servidor? sob /root/.ssh/ authorized_keys
?
Responder1
Geralmente você deve ser muito cauteloso ao obter
AVISO - POTENCIAL QUEBRA DE SEGURANÇA!
A chave do host do servidor não corresponde àquela que o PuTTY armazenou em cache no registro.
É uma indicação deAtaque MITM.
Veja também a documentação do PuTTY paraAVISO - POTENCIAL QUEBRA DE SEGURANÇA!(qual é a parte principal da mensagem, que você de alguma forma omitiu na sua pergunta).
Você nunca recebe esta mensagem por umnovoservidor. A menos, é claro, que o novo servidor reutilize o endereço IP/nome do host de algum servidor descartado. Nesse caso, não há problema em ignorar o aviso.
É, claro, umpúblicochave que é armazenada em cache pelo PuTTY. Aprivadoa chave é secreta e não deve ser acessível a ninguém, exceto ao administrador do servidor. Então não há como SSHclientepode conseguir.
Na verdade, o servidor pode ter vários pares de chaves para algoritmos diferentes (um para cada algoritmo, como RSA, DSA, ECDSA, ED25519). O cliente e o servidor concordarão sobre o melhor algoritmo a ser usado (o melhor dentre aqueles suportados pelo servidor e pelo cliente).
Os pares de chaves geralmente são armazenados em /etc/ssh
(no Linux com OpenSSH).
Embora o texto da sua pergunta indique que você pode confundir o par de chaves servidor/host com o par de chaves usado para autenticar no servidor.
Vermeuartigo sobreCompreendendo os pares de chaves SSH.
Responder2
Eu sei que a chave rsa vem em pares, tanto pública quanto privada, o que estou tentando entender é qual chave o servidor salvou em minha máquina local, a chave pública do servidor, eu acho
Sim, o PuTTY salva a impressão digital da chave pública do servidor. Você pode ver todas as chaves armazenadas no registro na chave:HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
também quando o putty fez a conexão SSH inicial com o servidor, como o servidor decide qual chave encaminhar? supondo que o servidor tenha uma lista de chaves públicas, existe uma chave genérica para qualquer cliente que tente fazer as conexões? e onde essa chave genérica está armazenada no servidor?
O servidor possui apenas uma chave de host por tipo de chave (RSA, DSA, etc.). O local onde eles são armazenados depende da configuração, mas, por exemplo, por padrão em sistemas Ubuntu, eles geralmente são armazenados em/etc/ssh
Responder3
Se tiver certeza de que não é um ataque MITM ou alguma outra violação de segurança, você pode usar plink
para atualizar a chave, por exemplo
plink [email protected]
Ele irá solicitar umAVISO - POTENCIAL QUEBRA DE SEGURANÇA!mensagem e oferece a opção de atualizar a chave em cache. Não há necessidade de mexer no registro do Windows sozinho...
Responder4
Execute o seguinte comando
ssh-T[e-mail protegido]
Ele lhe dará uma mensagem de aviso semelhante à seguinte, eremova a chave incorreta do arquivoknown_hosts.
Aviso: A chave do host ECDSA para 'github.com' difere da chave do endereço IP '140.82.112.4'
- Chave ofensiva para IP em ~/.ssh/known_hosts:11
- Chave de host correspondente em ~/.ssh/known_hosts:15
- Tem certeza de que deseja continuar se conectando (sim/não)
Observação:
- Repita até que todas as chaves ofensivas sejam removidas.
- O Pageant (Agente de Autenticação PuTTY) pode precisar ser reiniciado
Veja também:https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/