Autenticação de chave SSH com vários computadores

17

Eu estava lendo sobre autenticação de chave SSH e configurando-a com meus 3 computadores em casa.

Eu tenho um computador principal, chame de "A" e dois outros, chame-os de "B" e "C".

Agora, com base na documentação que eu li, eu rodaria ssh-keygen em B e C e colocaria as chaves públicas no computador A supondo que eu sempre SSH no computador A, se eu estivesse em B ou C.

Mas, eu acho que os exemplos de documentação que eu li presumem que apenas 1 computador doméstico será usado com digamos algum outro computador externo. Na minha situação, faz sentido apenas executar o ssh-keygen em um computador e copiar os arquivos para os outros? Desta forma eu só preciso fazer backup de um conjunto de chaves? E quando eu faço login em um computador externo, só preciso configurá-lo com 1 conjunto de teclas, além de configurá-lo com todos os três computadores.

Isso faz sentido? Quaisquer falhas ou notas de precaução a considerar?

Obrigado.

    
por linstar 09.06.2015 / 17:36

2 respostas

23

Você pode teoricamente fazer as duas coisas, mas cada uma tem suas vantagens e desvantagens:

Você pode criar apenas uma chave, digamos, "sua" (como pessoa), protegê-la em algum lugar e copiá-la para qualquer computador que você usar. A vantagem é que você pode se conectar a A de onde quer que vá, desde que possua sua chave privada SSH. A desvantagem é que, contanto que você copie sua chave privada de um lugar para outro, seja qual for o caminho, você aumenta o risco de ser lido por alguém que esteja ouvindo a conexão. Pior, se o computador C for roubado, você terá que gerar novamente uma nova chave em todos os computadores que usam essa chave e distribuir uma nova.

Por outro lado, usar 1 chave por usuário @ computador tem a vantagem de mais "controle fino" sobre "o que" pode conectar "onde". É a maneira mais comum de fazer.

Se, por exemplo, você fornecesse o computador C a seu irmão / irmã / esposa / marido / amigo / cão ou a um ladrão (sem sua aprovação), você teria apenas que remover a chave de A's '' arquivo authorized_keys '.

Portanto, mesmo que isso signifique "mais chaves em authorized_keys", sugiro a segunda abordagem.

    
por 09.06.2015 / 17:44
2

Usar as mesmas teclas nos três computadores é definitivamente factível - eu faço isso o tempo todo, principalmente por conveniência.

Kwaio aponta corretamente que isso aumenta o risco de suas chaves serem comprometidas. Uma solução possível seria separar os componentes da chave privada e pública. Então:

  • Todos os computadores têm sua chave pública no arquivo authorized_keys.
  • Você mantém 2 cópias de sua chave privada; um está em um pendrive USB em volta do pescoço (para usar ao usar o ssh para acessar outro computador), e o outro também está em um pen drive USB em um local seguro (caso você perca a primeira cópia).

Se um de seus computadores for roubado ou sua chave pública for comprometida - bem, é apenas uma chave pública, e daí?

Se sua chave privada for roubada ou perdida, você imediatamente começa a gerar um novo par de chaves e a atualizar as chaves públicas em todos os seus computadores.

HTH.

    
por 09.06.2015 / 22:49

Tags