13 Jul
Não sei se muitas pessoas tem esse problema, mas eu tenho mais de um par de chaves (no caso, tenho a minha para a conta jonasabreu do github e a da conta vidageek, também no github). Como era muito chato troca-las manualmente, fiz um pequeno script em bash para fazer isso para mim.
O script assume que as chaves atuais tem o nome de “id_rsa” e “id_rsa.pub” e as outras estão com um sufixo qualquer, como “id_rsa.vidageek” e “id_rsa.pub.vidageek”. O script deve estar na pasta .ssh .
#! /bin/bash
OLD_KEY=$1;
NEW_KEY=$2;
if [[ ! -f "id_rsa.$NEW_KEY" ]]; then
echo "could not find id_rsa.$NEW_KEY";
exit 1;
fi;
if [[ -f "id_rsa.$OLD_KEY" ]]; then
echo "$OLD_KEY already exists";
exit 2;
fi;
if [[ -f "id_rsa.pub.$OLD_KEY" ]]; then
echo "$OLD_KEY already exists";
exit 3;
fi;
mv id_rsa id_rsa.$OLD_KEY;
mv id_rsa.pub id_rsa.pub.$OLD_KEY;
mv id_rsa.$NEW_KEY id_rsa;
mv id_rsa.pub.$NEW_KEY id_rsa.pub;
Como chaves rsa são algo meio ruim de se perder, o script faz algumas checagens básicas, mas use-o por sua conta e risco :D
Usage:
./switch_keys.sh nome_das_atuais nome_da_que_vai_ser_ativada
Exemplo:
./switch_keys.sh jonas vidageek
Troca as chaves atuais jonas pelas que estão com a terminação vidageek .
Posts Relacionados:
Acompanhe-nos por
RSS, por Email ou via Twitter.
Veja como ter um desconto no Dreamhost: um excelente servidor web.
Email This Post
3 Responses for "Trocando chaves rsa rapidamente"
Seria interessante ao invés de ficar movendo os arquivos das chaves usar links simbólicos. Assim tu não fica tocando nos inodes do arquivo da chave.
É claro que com sistemas de arquivo com journalling o seu risco de corromper a chave é bem pequeno, mas nunca se sabe né?! hehehehe
Olá Dorileo,
realmente, link simbólico seria uma boa. Mas eu realmente espero que não precise trocar tanto assim as chaves a ponto de ser perigoso perdê-las :)
Obrigado pela visita!
Ou melhor ainda:
http://github.com/guides/multiple-github-accounts
Leave a reply