Come avere 2 o più account GitHub su una macchina (Windows)

20 nov 2021 4 min di lettura
Come avere 2 o più account GitHub su una macchina (Windows)
Indice dei contenuti

Introduzione

Supponiamo che tu abbia un progetto e un account GitHub personale. Stai lavorando su una macchina e hai diversi progetti, per alcuni dei quali si vuole effettuare il push al tuo account personale o viceversa. È qui che puoi utilizzare le chiavi SSH in modo da non dover reinserire il nome utente e la password per identificarti. Quello che fai è generare una chiave SSH. Quando lo fai, ottieni una coppia, una pubblica e l'altra privata. Quella pubblica è ciò che fornisci a GitHub e quella privata rimane sul tuo computer. Le modifiche apportate saranno consentite solo quando le chiavi corrispondono.

Senza ulteriori indugi, ecco i passaggi per aggiungere chiavi SSH al tuo GitHub.

  • Passare alla directory in cui si desidera trasferire le modifiche a un altro account GitHub.
  • Crea una nuova chiave SSH nel tuo terminale/riga di comando

Su Windows uso il seguente comando:

ssh-keygen -t rsa -C “your-email-address”
  • -t sta per "tipo" e rsa è il tipo di crittografia
  • -C sta per commento

Verrà quindi mostrato quanto segue:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/your_username/.ssh/id_rsa):

Copia e incolla il percorso seguito da un nome identificabile per il file:

/c/Users/your_username/.ssh/id_rsa_IDENTIFIABLE_NAME_HERE

Per questo tutorial l'ho nominato test:

/c/Users/your_username/.ssh/id_rsa_test

Assicurati di non sovrascrivere id_rsa poiché questa è la tua chiave esistente per il tuo account originale.

Quindi ti chiederà quanto segue:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Premi "Invio" due volte per lasciarlo vuoto.

Ora puoi digitare il seguente comando per vedere tutte le chiavi SSH che hai sul tuo computer locale:

ls -al ~/.ssh
  • ls elenca tutti i file nella directory corrente
  • a è per elencare tutti i file inclusi quelli nascosti
  • l è per elencare in un formato lungo

Dovresti quindi ottenere qualcosa di simile a questo:

total 46
drwxr-xr-x 1 your_username 1049089    0 Jan 26 10:40 .
drwxr-xr-x 1 your_username 1049089    0 Jan 23 12:12 ..
-rw-r--r-- 1 your_username 1049089 3326 Nov 30 11:21 id_rsa
-rw-r--r-- 1 your_username 1049089  748 Nov 30 11:21 id_rsa.pub
-rw-r--r-- 1 your_username 1049089 1675 Jan 26 10:40 id_rsa_test
-rw-r--r-- 1 your_username 1049089  399 Jan 26 10:40 id_rsa_test.pub
-rw-r--r-- 1 your_username 1049089  803 Nov 30 12:08 known_hosts

Dovresti essere in grado di vedere il tuo nuovo file di chiave SSH. Come puoi vedere nel mio ho sia id_rsa_test che id_rsa_test.pub.

id_rsa_test è la tua chiave privata memorizzata sul tuo computer, mentre id_rsa_test.pub è la chiave pubblica che fornirai a GitHub.

Successivamente è necessario copiare la chiave SSH che è memorizzata nel file id_rsa_test.pub. Puoi aprirlo nell'editor di testo che preferisci. Attualmente uso atom, quindi ho aperto il file usando il seguente comando:

atom ~/.ssh/id_rsa_test.pub

Otterrai quindi qualcosa di simile a questo:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEmSbc7ms4SNIf7G0e9EqdrQRTB17VFTqRtCbQ55sSc11xZP5B07UXf9+................a955cf1GUzsNIr60E7VuVxirrr+K2WcleqifnDEg1H/VbyJtEekh4Aav9csBwemTz3 [email protected]

La chiave è in realtà più lunga ma l'ho abbreviata per il bene di questo tutorial.

Copia questo e vai al tuo account GitHubImpostazioniChiavi SSH e GPG.

Fare clic su Nuova chiave SSH.

Assegna un titolo alla tua nuova chiave e poi incolla la nuova chiave SSH generata che hai copiato in precedenza. È una buona idea dare alle chiavi il nome della macchina da cui provengono.

Se sei su un Mac/Linux dovresti essere in grado di aggiungere questa chiave anche sul tuo terminale usando il comando seguente:

ssh-add ~/.ssh/id_rsa_test

Tuttavia, poiché sto usando una macchina Windows, ho dovuto creare un comando SSH. Puoi farlo digitando quanto segue direttamente nella riga di comando:

git config core.sshCommand=ssh -i ~/.ssh/id_rsa_test

oppure puoi farlo aprendo il file git config nel tuo editor di testo preferito:

git config -e

Il tuo file di configurazione git locale dovrebbe assomigliare a questo:

Aggiungere sshCommand = ssh -i ~/.ssh/id_ra_test alla sezione [core] della lista.

Nota: se vuoi che il comando git config -e apra il tuo file nell'editor di testo di tua scelta, devi averlo configurato globalmente. Il mio si è aperto in Vim poiché questa è l'impostazione predefinita. Puoi sovrascriverlo usando il seguente comando:
git config --global core.editor "atom --wait"

Altri comandi dell'editor possono essere trovati qui.

Imposta il tuo repository da inviare a GitHub con l'account associato

È inoltre necessario modificare l'e-mail e il nome dell'utente per connettersi all'account GitHub a cui si desidera associare il repository. Puoi cambiarlo nel file di configurazione mentre lo hai aperto:

In alternativa puoi farlo anche tramite la riga di comando:

git config user.name "test"
git config user.email [email protected]

Ora dovresti essere in grado di eseguire il commit e il push all'account corretto.

git init
git add .
git commit -m "First commit"
git remote add origin [email protected]:your_username/test.git
git push origin master

Conclusione

In questo tutorial abbiamo visto come avere 2 o più account GitHub su una macchina.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.