Qual é a diferença entre / etc / ssh / e ~ / .ssh?

0

Estou me divertindo com o OpenSSH e sei que o diretório /etc/ssh é para o daemon ssh e o diretório ~/.ssh é para um usuário específico.

Ambos os diretórios contêm chaves privadas e públicas:

Mas qual é a diferença entre essas chaves? Estou confuso, porque os que eu uso como usuário estão no meu diretório pessoal e quais são as funções das chaves encontradas em /etc/ssh ?

    
por Kavish Gour 23.04.2018 / 14:48

2 respostas

4

/etc/ssh fornece configuração para o sistema: configuração padrão para usuários ( /etc/ssh/ssh_config ) e configuração para o daemon ( /etc/ssh/sshd_config ). Os diversos arquivos host em /etc/ssh são usados pelo daemon: eles contêm as chaves do host, que são usadas para identificar o servidor - da mesma forma que os usuários são identificados por pares de chaves (armazenados em seu diretório inicial), servidores também são identificados por pares de chaves. Vários pares de chaves são usados porque os servidores geralmente oferecem vários tipos de chaves: RSA, ECDSA e Ed25519 no seu caso. (Os usuários também podem ter várias chaves.)

Os vários arquivos de chave são usados da seguinte forma:

  • sua chave privada, se houver, é usada para identificá-lo em qualquer servidor ao qual você esteja se conectando (ele deve corresponder à chave pública armazenada nas chaves autorizadas do servidor para a conta à qual você está tentando se conectar); / li>
  • a chave privada do servidor é usada pelo cliente para identificar o servidor; essas identidades são armazenadas em ~/.ssh/known_hosts e, se a chave de um servidor for alterada, o SSH reclamará e desativará determinados recursos para reduzir os ataques man-in-the-middle;
  • seu arquivo de chave pública armazena a string que você precisa copiar para servidores remotos (em ~/.ssh/authorized_keys ); não é usado diretamente;
  • as cadeias de armazenamento de arquivos de chave pública do servidor que você pode copiar para sua lista de hosts conhecidos para pré-preenchê-lo; também não é usado diretamente.

A última parte não é usada com frequência; o modelo SSH padrão é conhecido como "TOFU" (confiança no primeiro uso): uma conexão é confiável por padrão na primeira vez em que é usada, e o SSH só se preocupa com alterações inesperadas . Em alguns casos, é útil confiar na primeira conexão também: a operadora de um servidor pode comunicar as chaves públicas do servidor e os usuários podem adicioná-las a seus hosts conhecidos antes da primeira conexão.

Veja os ssh_config e sshd_config manpages para detalhes ( man ssh_config e man sshd_config em seu sistema). O formato usado para hosts conhecidos é descrito em sshd manpage .

    
por 23.04.2018 / 14:53
1

/ etc / ssh contém os pares de chaves privadas e públicas para o host (o computador / sistema operacional)

~ / .ssh contém os pares de chaves para o usuário proprietário

Pesquise um pouco sobre como as chaves simétricas e a PKI funcionam. Você descobrirá que, na maioria das situações, tanto o remetente quanto o destinatário precisam de seu próprio par de chaves privadas / públicas.

    
por 23.04.2018 / 14:56