O arquivo known_hosts
em seu diretório inicial é onde o ssh armazena automaticamente a identidade de cada novo servidor você . Outros usuários terão seu próprio arquivo known_hosts
, é claro.
O arquivo em /etc
é a mesma coisa, exceto que ele só pode ser escrito manualmente e compartilhado entre todos os usuários do sistema.
Um uso típico para o arquivo /etc
é que o administrador do sistema insira as identidades de todos os servidores dentro de sua organização. Dessa forma, cada usuário não precisará responder "sim" quando visitar os recursos locais pela primeira vez, mas, mais importante, melhorará a segurança.
A finalidade do arquivo known_hosts
é evitar ataques man-in-the-middle, garantindo que você esteja se conectando ao mesmo servidor com o qual você se conectou da última vez (ele não foi mal-trocado por um DNS hack ou algo assim). A fraqueza do known_hosts
é que ele não pode detectar um homem no meio se isso acontecer na primeira vez em que você se conectar. Ao pré-preencher o arquivo /etc
com assinaturas em bom estado, o administrador pode ter certeza de que seus usuários não estão sendo rastreados.