Linux, Open-source, Programação e Produtividade

Trocando chaves rsa rapidamente

Jonas Abreu em 13/07/2009

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 .

Creative Commons License
Trocando chaves rsa rapidamente de Jonas Abreu está licenciado sob Creative Commons License.