Sådan Angiver Du Privat Nøglefil i Git på Systemer med Flere Private Nøgler

Er der en tilsvarende måde at angive, hvilken privat nøglefil git skal bruge på et system med flere private nøgler i ~/.ssh-mappen?

Angivelse af privat nøglefil i Git på systemer med flere private nøgler kan gøres ved at konfigurere SSH config-filen, bruge GIT_SSH_COMMAND, tilføje nøgler til en SSH-agent eller ændre Git-konfigurationen for et specifikt repository.

Angivelse af Privat Nøglefil i Git på Systemer med Flere Private Nøgler

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:

1. Brug af SSH Config Fil

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.

2. Brug af GIT_SSH_COMMAND

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.

3. Brug af SSH-agent

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.

4. Brug af Specifik SSH Kommando i Git Config

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.