Qual é a diferença known_hosts

2

Eu não entendo muito bem o SSH e estou um pouco confuso sobre a relação entre os arquivos /home/XXX/.ssh/known_hosts e /etc/ssh/ssh_known_hosts .

Alguém pode explicar isso?

    
por jaksky 30.08.2013 / 15:34

3 respostas

7

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.

    
por 30.08.2013 / 15:46
4

Da página ssh(1) man, seção FILES :

 ~/.ssh/known_hosts
         Contains a list of host keys for all hosts the user has logged
         into that are not already in the systemwide list of known host
         keys.  See sshd(8) for further details of the format of this
         file.

   ...

 /etc/ssh/ssh_known_hosts
         Systemwide list of known host keys.  This file should be prepared
         by the system administrator to contain the public host keys of
         all machines in the organization.  It should be world-readable.
         See sshd(8) for further details of the format of this file.
    
por 30.08.2013 / 15:46
0

O /etc/ssh/ssh_known_hosts e $HOME/.ssh/known_hosts      os arquivos contêm chaves públicas do host para todos os hosts conhecidos. O arquivo global deve ser preparado pelo administrador (opcional),      e o arquivo por usuário é mantido automaticamente: sempre      o usuário se conecta a um host desconhecido sua chave é adicionada ao      o arquivo por usuário.

    
por 30.08.2013 / 15:46

Tags