Quando si deve lavorare con diversi accounts Git sullo stesso terminale, va effettuata una configurazione particolare delle chiavi ssh. Questo perché non si può usare la stessa chiave SSH per 2 account diversi, ma bisogna crearne 2 distinti e configurare il client ssh di conseguenza.
Per prima cosa creiamo 2 chiavi distinte:
1 2 3 4 5 6 7 | $ cd ~/.ssh $ ssh-keygen -t rsa -C "tuaemail@associata_ad_account_bitbucket.org" # salvare quindi la chiave come id_rsa # si può omettere la creazione di questa chiave se ne hai già una, anche associata. l'importante è che si chiami id_rsa $ ssh-keygen -t rsa -C "tuaemail@associata_ad_altro_account_bitbucket.org" # salvare come id_rsa_altroaccount |
Aggiungete quindi il contenuto dei files .pub nei rispettivi account dal pannello “add keys” di bitbucket.
Creiamo quindi un file config dentro la propria directory /home/user/.ssh
1 2 3 4 5 6 7 8 9 10 11 12 13 | $ touch config $ nano config # contenuto del file config Host bitbucket.org Hostname bitbucket.org User git IdentityFile ~/.ssh/id_rsa Host altroaccount.bitbucket.org Hostname bitbucket.org User git IdentityFile ~/.ssh/id_rsa_altroaccount |
[info ]A costo di sembrare Capitan Ovvio, ricordo che la tilde ~ riporta alla home dell’utente corrente. [/info]
Reimpostiamo le identità ssh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $ ssh-add -D #attenzione questo comando cancella tutte le identità ssh correntemente salvate # aggiungiamo ora le nuove identità $ ssh-add id_rsa $ ssh-add id_rsa_altroaccount # controlliamo che siano state settate $ ssh-add -l # controlliamo che bitbucket riconosca le chiavi: $ ssh -T bitbucket.org #check del primo account # .. You can use git or hg to connect to Bitbucket. Shell access is disabled. $ ssh -T altroaccount.bitbucket.org #check del secondo account # .. You can use git or hg to connect to Bitbucket. Shell access is disabled. |
Ora che tutto è testato vediamo come usare la nuova configurazione
1 2 3 4 5 | #per l'account di default non è cambiato nulla, quindi per clonare un repository si può usare la solita url ssh $ git clone git@bitbucket.org:user/repository.git #per l'altro account invece l'url ssh deve essere cambiato come da esempio: $ git clone git@altroaccount.bitbucket.org:user/repository.git |
Scrivi un commento