Quando você faz uma sessão SSH, dois pares de chaves diferentes (com uma impressão digital para cada par) são envolvidos. Uma é a chave do usuário armazenada ~/.ssh
. A identidade da chave SSH do usuário às vezes é usada como credencial para efetuar login em outro computador (se você configurou 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 que pretende. Isso é importante se você estiver usando senhas, porque não deseja tentar acessar acidentalmente uma máquina atacante: o invasor receberá sua senha quando você a digitar. para! (isso é conhecido como "ataque do homem do meio" ). As chaves que um servidor SSH usa para se identificar quando você faz login estão localizadas /etc/ssh/
e geralmente denominadas algo como ssh_host_rsa_key
.
Você pode realmente mudar para onde o servidor SSH procura a chave no arquivo com a configuração./etc/ssh/sshd_config
HostKey /path/to/host/key
Por padrão, ssh-keygen
criará uma chave para o usuário atual, que, por padrão, será armazenada ~/.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
há uma HostKey
diretiva apontando para eles. Quando você instala o pacote openssh-server, ele gera automaticamente chaves para o servidor usar. É daí que as chaves com a impressão digital desconhecida vieram. Se você quiser ver a impressão digital da chave do servidor SSH (RSA *), poderá executar ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Existem diferentes algoritmos de criptografia. Cada um usa uma chave diferente. Os comuns são DSA (fraco), RSA (padrão antigo) e ECDSA (novo padrão).