Ja, der er en måde at angive, hvilken privat nøglefil Git skal bruge på et system med flere private nøgler i ~/.ssh
-mappen. Dette kan gøres ved at konfigurere SSH til at bruge en specifik nøgle for en given værtsmaskine. Her er nogle metoder til at opnå dette:
Du kan oprette eller redigere en config
-fil i din ~/.ssh
-mappe for at specificere, hvilken nøgle der skal bruges for en bestemt værtsmaskine.
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
Host bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa_bitbucket
I dette eksempel vil Git bruge ~/.ssh/id_rsa_github
for forbindelser til github.com
og ~/.ssh/id_rsa_bitbucket
for forbindelser til bitbucket.org
.
Du kan også angive den private nøgle direkte i en Git-kommando ved at bruge miljøvariablen GIT_SSH_COMMAND
.
GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa_github' git clone [email protected]:username/repo.git
Dette vil instruere Git om at bruge ~/.ssh/id_rsa_github
til denne specifikke kommando.
En anden metode er at tilføje de nødvendige nøgler til en SSH-agent, som derefter vil håndtere nøglevalget automatisk.
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_bitbucket
Efter at have tilføjet nøglerne til agenten, vil SSH automatisk vælge den korrekte nøgle baseret på den værtsmaskine, du forsøger at oprette forbindelse til.
Du kan også konfigurere Git til at bruge en specifik SSH-kommando for et bestemt repository ved at ændre Git-konfigurationen.
git config core.sshCommand 'ssh -i ~/.ssh/id_rsa_github'
Dette vil instruere Git om altid at bruge ~/.ssh/id_rsa_github
for det pågældende repository.
Ved at bruge en af disse metoder kan du effektivt administrere flere private nøgler på dit system og sikre, at Git bruger den korrekte nøgle til hver forbindelse.
Har du brug for hjælp til Git og nøglefilhåndtering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om du står over for tekniske udfordringer eller har brug for vejledning, er Handyhand klar til at assistere dig.