
Quero lhe dizer como armazenar com segurança as chaves SSH na máquina local, sem medo de que algum aplicativo possa roubá-las ou descriptografá-las.
O artigo será útil para aqueles que não encontraram uma solução elegante após a paranóia em 2018 e continuam a armazenar chaves em $HOME/.ssh
.
Para resolver esse problema, sugiro usar o KeePassXC , que é um dos melhores gerenciadores de senhas, usa algoritmos de criptografia robustos e também possui um agente SSH embutido.
Isso torna possível armazenar com segurança todas as chaves diretamente no banco de dados de senhas e adicioná-las automaticamente ao sistema quando ele é aberto. Depois que o banco de dados é fechado, o uso de chaves SSH também se torna impossível.
Primeiro, adicionaremos a inicialização automática do agente SSH no login, para isso, abra ~/.bashrc
no seu editor favorito e adicione até o final:
SSH_ENV="$HOME/.ssh/environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null }
Então, precisamos ativar o suporte no KeePassXC:
Ferramentas -> Opções -> SSH Agent -> Ativar SSH Agent

Isso conclui a instalação, agora tente adicionar uma nova chave SSH ao KeePassXC:
Clique no ícone com a chave e preencha os dados:

Se a chave estiver protegida por senha, forneça a mesma senha
Na guia Avançado , carregue o anexo com o nosso id_rsa :

Na guia Agente SSH , observe:
- Adicione uma chave ao agente ao abrir / desbloquear o banco de dados
- Remova uma chave de um agente ao fechar / bloquear um banco de dados
Em seguida, selecione nossa chave ( id_rsa ) no anexo
E clique no botão Adicionar ao agente :

Agora, quando você inicia o KeePassXC, a chave será automaticamente adicionada ao agente SSH, para que você não possa mais armazená-la em disco!