Quando você faz uma sessão SSH, dois pares de chaves diferentes (com uma impressão digital para cada par) estão envolvidos. Uma é a chave do usuário que é armazenada em ~/.ssh
. Às vezes, a identidade da chave SSH do usuário é usada como credencial para fazer login em outro computador (se você tiver configurado o login baseado em chave).
O outro é a chave do servidor SSH. Essa é a chave para a qual você vê a impressão digital quando se conecta a um servidor diferente pela primeira vez. A identidade dessa chave é usada para garantir que você esteja efetuando login no servidor SSH desejado. Isso é importante se você estiver usando senhas porque não deseja tentar acidentalmente fazer login em uma máquina de invasores: o invasor obteria sua senha quando você digitasse. Então, o invasor poderia fazer login na máquina que você pensou estar logando. para! (isso é conhecido como "homem no meio ataque" ) As chaves a O servidor SSH usa para se identificar quando você faz login nele, está localizado em /etc/ssh/
e geralmente tem o nome de algo como ssh_host_rsa_key
.
Você pode alterar onde o servidor SSH procura a chave no arquivo /etc/ssh/sshd_config
com a configuração HostKey /path/to/host/key
.
Por padrão, ssh-keygen
criará uma chave para o usuário atual, que, por padrão, será armazenada em ~/.ssh
. O formato de uma chave de usuário e uma chave de servidor é o mesmo; a diferença é onde eles são colocados e se /etc/ssh/sshd_config
tem uma diretiva HostKey
apontando para eles. Quando você instala o pacote openssh-server, ele gera automaticamente chaves para o servidor usar. É daí que vêm as chaves com a impressão digital desconhecida. Se você quiser ver a impressão digital da chave do servidor SSH (RSA *), pode executar ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Existem diferentes algoritmos de criptografia. Cada um usa uma chave diferente. Os mais comuns são DSA (fraco), RSA (padrão antigo) e ECDSA (novo padrão).