Como devo gerenciar uma chave ssh pessoal e segura?

14

Eu preciso ter uma chave ssh pessoal que:

  • Posso fazer backup de um único arquivo contendo minha chave privada e restaurá-lo quando faço uma nova instalação.
  • A chave privada nunca é armazenada em forma não criptografada em nenhum lugar, inclusive no arquivo que faço backup e restauro, mas com a exceção necessária da minha RAM enquanto a uso.
  • Alguém com acesso físico à minha máquina não pode necessariamente usar minha chave privada. Eu deveria ser solicitado a inserir uma senha antes que ela funcione, de preferência a senha da minha conta de usuário.
  • Não é necessário fazer backup da chave pública. Eu deveria ser capaz de gerar isso a partir da chave privada (mas pode precisar de informações suficientes para descriptografá-la).

Eu sei que existem muitos recursos explicando como usar as ferramentas de gerenciamento de chaves ssh. No entanto, acho-as bastante complexas e não consegui salvar minha chave privada ao realizar novas instalações no passado. Então, eu preferiria ouvir algumas práticas recomendadas de alguém com experiência fazendo exatamente o que eu quero fazer.

Vincent Povirk
fonte

Respostas:

9

Passando por seus pontos:

  • Quando você gera uma chave SSH, ela é armazenada em ~/.ssh/como id_rsa(ou id_dsa). Você pode mover isso de máquina para máquina como desejar.

  • Você pode garantir sua criptografia criptografando /home/. Existem vários conjuntos de instruções sobre como fazer isso na Internet, mas (nunca tendo feito isso eu mesmo) não posso honestamente sugerir um sobre o outro. O do UbuntuForums parece tão bom quanto qualquer outro. Fazer isso em uma nova instalação é mais fácil (você pode fazê-lo no instalador), mas não é necessário.

  • Ao gerar seu par de chaves, certifique-se de definir uma senha. Isso significa que, mesmo que alguém obtenha sua chave privada, eles ainda precisam desse token para usá-la.

  • ssh-keygen -eirá gerar seu hash de chave pública a partir da sua chave privada. Faça sim, você não precisa fazer backup (embora não seja difícil fazer isso - ele é armazenado como ~/.ssh/id_rsa.pub).

Oli
fonte
A definição de uma senha não conta como criptografar a chave?
Vincent Povirk
@Vincent Mais ou menos, com certeza. Não tenho certeza de quão paranóico você está tentando estar aqui. Se você quiser minimizar a chance de alguém pegar a chave, coloque-a em uma partição criptografada. Se você estiver satisfeito com as pessoas conseguirem obtê-lo (se tiverem acesso físico), mas não puder usá-lo sem uma senha, poderá pular essa etapa.
Oli