Slik administrerer du flere GitHub-kontoer på samme maskin

Som utviklere må vi normalt sjonglere rundt flere GitHub-kontoer på samme maskin. For eksempel har vi vår egen personlige GitHub-konto for vårt eget prosjekt og deretter en annen GitHub-konto som vi bruker til vårt klientprosjekt.

Denne artikkelen gir trinnvise instruksjoner om hvordan du konfigurerer og jobber med flere GitHub-kontoer på samme maskin.



Administrer flere GitHub-kontoer

I dette scenariet vil vi opprette to forskjellige GitHub-kontoer på samme maskin og deretter bytte mellom de to.


Generer SSH-nøkler

Først må vi lage våre private / offentlige SSH-nøkler for våre personlig regnskap.

Vi kan gjøre dette ved å utføre følgende kommando i en terminal:


$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'

Ovennevnte e-postadresse er den du bruker for å logge på din personlige GitHub-konto.

Når du blir bedt om stedet for å lagre tastene, godtar du standardplasseringen ved å trykke på Enter. Et privat / offentlig nøkkelpar opprettes på standard ssh-plassering ~/.ssh/.

Våre personlige SSH-nøkler er:

~/.ssh/id_rsa_personal.pub og ~/.ssh/id_rsa_personal


Deretter oppretter vi våre private / offentlige SSH-nøkler for våre klient regnskap:

$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'

Ovennevnte e-postadresse er den du bruker til å logge på GitHub-kontoen din.

Ovennevnte kommando oppretter SSH-nøklene til klienten lokalisert i ~/.ssh/.

Våre klient SSH-nøkler er:


~/.ssh/id_rsa_company.pub og ~/.ssh/id_rsa_company

Legg til SSH-nøkler i respektive GitHub-kontoer

Logg på din personlige GitHub-konto og legg til id_rsa_personal.pub personlig offentlig nøkkel.

Deretter logger du på GitHub-kontoen din og legger til deg id_rsa_company.pub klientens offentlige nøkkel.

Hvis du ikke er sikker på hvordan du gjør dette, kan du lese installer Git og generer SSH-nøkler .


Oppdater SSH-konfigurasjonsfil

SSH-konfigurasjonsfilen ligger i ~/.ssh/. Hvis du ikke ser en konfigurasjonsfil, kan du opprette en:

$ cd ~/.ssh/ $ touch config

// Creates the file if not exists $ nano config

// Opens the file for editing

Legg til dine forskjellige GitHub-profiler i SSH-konfigurasjonsfilen:

# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company

Registrer SSH-nøkler med ssh-agent

Start ssh-agent ved å kjøre eval '$(ssh-agent -s)'.

Deretter legger du til SSH-nøklene i ssh-agenten:


ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company

Dette vil registrere SSH-nøklene dine med ssh-agenten på maskinen.

Bare én aktiv SSH-nøkkel i ssh-agent om gangen

Nå som vi har opprettet SSH-nøklene for personlig og selskap og registrert dem hos ssh-agent, kan vi nå enkelt bytte mellom de to GitHub-kontoene på samme maskin.

Vi må sørge for at vi bare har den respektive SSH-nøkkelen lagt til i ssh-agenten om gangen.

For eksempel, hvis vi jobber med vårt personlige prosjekt, gjør vi:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key

På samme måte, hvis vi jobber med klientprosjektet vårt, gjør vi:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company

// Adds the company ssh key

Og dette er hvordan vi kan administrere flere GitHub-kontoer på samme maskin og bytte mellom dem mens vi jobber med respektive prosjekter.