autenticação de chave SSH no lado do servidor

4

Normalmente, faço a autenticação por chave ssh da seguinte forma:

  1. gerar chave no PC do cliente ( # ssh-keygen -t rsa )
  2. copie a chave para o servidor (usando ssh-copy-id ou por outros meios)
  3. acessar o servidor do PC cliente.

Eu vi servidores AWS (Amazon Web Servers) fornecerem uma chave durante a criação do servidor, que o cliente pode usar para fazer login.

Agora eu tenho um servidor comigo no qual desejo gerar chaves e distribuí-lo para meus clientes. Todos com essa chave devem poder acessar o servidor.

  1. Como posso conseguir isso?
  2. Como devo nomear essas chaves que distribuo aos clientes? É chave pública?

Estou faltando alguma teoria sobre chave pública / privada aqui?

    
por Midhun Jose 12.06.2017 / 12:25

2 respostas

4

O Amazon linux usa par de chaves como você faz, mas distribui uma chave privada.

Portanto, se você gerar o usuário no lado do servidor, você deve adicionar, como de costume, a chave pública em /home/your_user/.ssh/authorized_keys e depois distribuir a chave privada para o seu cliente.

Você deve estar ciente das preocupações de segurança como " chaves privadas são chamadas de particulares para uma razão. "

    
por 12.06.2017 / 12:47
18

Não faça isso. Se todos os seus clientes usarem o mesmo par de chaves para acessar o servidor, e um de seus clientes sair, você não poderá remover o acesso deles sem interromper todos.

Pelo menos, faça com que cada cliente gere seu próprio par de chaves e envie a chave pública (que também é um pouco menos insegura do que enviar uma chave privada) e coloque todas as chaves públicas no arquivo authorized_keys do servidor. Melhor ainda, crie cada cliente com sua própria conta de usuário no servidor e coloque a chave pública de cada cliente no arquivo authorized_keys da conta de usuário relevante.

    
por 12.06.2017 / 13:16