Há muito tempo, gerei um par de chaves usando ssh-keygen
e costumava ssh-copy-id
habilitar o login em muitas VMs de desenvolvimento sem precisar inserir manualmente uma senha. Também carreguei minha chave pública no GitHub, GitLab e similares para autenticar em repositórios git usando git@
em vez de https://
.
Como posso reinstalar meu desktop Linux e manter todos esses logins funcionando? Fazer backup e restaurar ~/.ssh/
é suficiente?
Você precisa fazer backup de suas chaves privadas, no mínimo. Eles não podem ser regenerados sem ter que substituir sua chave pública em todos os lugares. Estes normalmente teriam um nome começando com
id_
e sem extensão.As chaves públicas podem ser regeneradas com este comando:
ssh-keygen -y -f path/to/private/key
. Sua configuração de usuário (um arquivo chamado "config") também pode ser útil se você tiver definido algum padrão.Todos esses arquivos normalmente estariam em ~/.ssh, mas verifique primeiro!
Para conexões SSH de saída , basta fazer backup do seu par de chaves. Por conveniência, você pode apenas fazer backup de seu
~/.ssh
diretório e restaurá-lo na nova instalação.Normalmente, fazer backup e restaurar esse diretório é suficiente, mas é possível armazenar as chaves em outro lugar usando configurações personalizadas em
~/.ssh/config
ou/etc/ssh/ssh_config
, ou usando um agente SSH essh-add
pegar as chaves a serem usadas em conexões de saída de um local arbitrário .Se você tiver conexões SSH de entrada , considere também fazer backup das chaves do host SSH em
/etc/ssh/ssh_host_*
. Se você não fizer backup deles, novas chaves de host serão geradas automaticamente aosshd
iniciar pela primeira vez na nova instalação, e qualquer conexão SSH de entrada mostrará a "incompatibilidade de chave de host SSH, alguém pode estar fazendo algo ruim!" mensagem de erro e geralmente rejeitam a conexão, a menos que alguém exclua a chave de host antiga no cliente SSH e aceite explicitamente a nova.Parece que você pode não ter conexões SSH de entrada em seu sistema de desktop Linux, então estou mencionando isso apenas por uma questão de integridade. Mas em sistemas de servidor, ou se você tiver uma configuração significativa de automação baseada em SSH, reconhecer uma chave de host alterada pode ser um grande incômodo.