Comecei a usar chaves SSH em vez de senhas recentemente (graças ao GitHub, é claro), então lembre-se de que sou bastante novo em todo esse conceito. Atualmente, minhas chaves simplesmente estão em ~ / .ssh, mas não tenho certeza se essa é uma boa prática. Por exemplo, se eu tiver várias máquinas, precisarei duplicar minhas chaves privadas, o que acho indesejável. Ou, se o meu disco rígido ficar vazio, perderei essas chaves, o que (eu acho) também é indesejável.
Então, quais são as práticas recomendadas para armazenar chaves SSH de forma segura, conveniente e confiável?
Parece que usar um cartão inteligente é uma opção (consulte Cartões inteligentes para armazenar as chaves gpg / ssh (Linux) - o que eu preciso? ). Essa é a melhor?
Atualização: O motivo da pergunta é que muitos serviços (como GitHub, AWS EC2) fornecem guias sobre como configurar chaves SSH para usar o serviço, mas pouco ou nenhum plano de fundo (como, o que fazer se você já tiver uma chave gerada por ssh-keygen
[1], quais são as medidas de segurança recomendadas). E não está claro se essas informações são de fato sem importância ou se você as conhece "por padrão".
Para resumir as respostas até esse ponto (mas, por favor, leia-as e se você tiver algo a acrescentar - por favor, faça): parece que, neste caso, é bom se você deixar suas chaves privadas em ~ / .ssh, desde que você mantenha-os de outras pessoas; mas verifique se você tem outra maneira de acessar o serviço para carregar ou gerar uma nova chave se você perder uma (normalmente é o caso).
[1] O GitHub é usado para fornecer ajuda sobre como gerenciar várias chaves .