it-swarm-pt.tech

É uma má idéia usar a mesma chave ssh privada em vários computadores?

Recentemente, comprei um laptop no qual preciso acessar os mesmos hosts remotos da minha área de trabalho. Ocorreu-me que talvez fosse possível simplesmente copiar o arquivo de chave privada da minha área de trabalho para o meu laptop e evitar a necessidade de adicionar uma nova chave ao ~/.ssh/authorized_keys arquivos em todos os hosts que desejo acessar. Então, minhas perguntas são:

  1. Isso é possível?
  2. Há implicações de segurança não óbvias?
  3. Às vezes, faço login na minha área de trabalho usando meu laptop. Se houvesse a mesma chave, isso causaria algum problema?
37
Jason Creighton

Sim, isso é possível. Sua chave privada não está vinculada a uma única máquina.

Não tenho certeza do que você quer dizer com não óbvio, isso geralmente é subjetivo;). Não é uma péssima idéia se você tiver uma frase-senha muito forte, com pelo menos 20 caracteres.

Não há problemas em conectar-se com a mesma chave da sua área de trabalho. Eu configuraria um agente ssh para sua chave no laptop e encaminharia o agente para a área de trabalho, para que você use essa chave em outros sistemas que você acessar a partir daí.

Na página do manual ssh-agent em um sistema Linux:

o ssh-agent é um programa para armazenar chaves privadas usadas para autenticação de chave pública (RSA, DSA). A idéia é que o ssh-agent seja iniciado no início de uma sessão X ou de sessão de logon e todas as outras janelas ou programas sejam iniciados como clientes do programa ssh-agent. Através do uso de variáveis ​​de ambiente, o agente pode ser localizado e usado automaticamente para autenticação ao efetuar login em outras máquinas usando o ssh (1).

Você executaria isso no seu laptop, no programa ssh-agent no Linux/Unix (que vem com o OpenSSH) ou no PuTTY Agent, se você estiver usando o Windows. Você não precisa do agente em execução em nenhum sistema remoto, ele apenas mantém sua chave privada na memória do sistema local; portanto, você só precisa digitar sua senha uma vez, para carregar a chave no agente.

O encaminhamento de agente é um recurso do cliente ssh (ssh ou PuTTY) que simplesmente persiste o agente em outros sistemas através da conexão ssh.

31
jtimberman

Eu costumava usar uma única chave privada em todas as minhas máquinas (e algumas delas eu sou apenas um usuário, não um administrador), mas recentemente mudei isso. Funciona com a única chave, mas significa que se você precisar revogar a chave (se ela estiver comprometida), será necessário alterá-la em todas as máquinas.

Obviamente, se um invasor obtém acesso e é capaz de transferir ssh para outra máquina, ele pode obter a chave dessa máquina e assim por diante. Mas me sinto um pouco mais seguro saber que posso revogar apenas uma chave e bloquear a máquina. Isso significa que eu preciso remover a chave do arquivo allowed_keys.

10
Matthew Schinckel