Skifter mellem flere ssh nøgler i Git på Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal have flere nøgler i min klient for at få adgang til to forskellige konti på Repository hosting. Se https://redefy.repositoryhosting.com/support -> Hvordan styrer jeg flere konti med flere tastaturer på min klient? [14]


Jeg forstår ikke, hvordan man skifter mellem forskellige ssh nøgler i Git på Windows, kan nogen hjælpe mig?

Bedste reference


Jeg formoder at du bruger git bash og openssh.


Som det, der er skrevet i artiklen, kan du oprette en konfigurationsfil til ssh-klienten, der indeholder alle dine konti. Du kan skrive følgende konfiguration i din egen ssh-klientkonfigurationsfil i ~/.ssh/config


Host account-one
HostName server.example.com
User user-one
IdentityFile ~/.ssh/key-one

Host account-two
HostName server.example.com
User user-two
IdentityFile ~/.ssh/key-two


Hvad det siger er, at du definerer to slags 'værtsaliaser', der hedder account-one og account-two. Hvis du bruger dem, bruger ssh-klienten den tilsvarende HostName, User og IdentityFile til serveradressen, brugernavnet og ssh-nøglefilen. Med dette kan du bruge dem til at få adgang til dine konti og nøgler på lige samme server.


I git kan du definere to fjernbetjeninger ved hjælp af dem


$ git remote add one account-one:repository.git
$ git remote add two account-two:repository.git


så kan du skubbe til disse fjernbetjeninger


$ git push one master
$ git push two master

Andre referencer 1


Hvilken nøgle bruges til, hvilken server håndteres af SSH-programmet, som git bruger til at forbinde. I standardopsætningen skal dette være kommandolinjens SSH-klient (openSSH?).


Ved hjælp af openSSH kan du konfigurere bestemte keyfiler til bestemte værter i filen ~/.ssh/config:


Host foo.example.com
  IdentityFile ~/.ssh/foo.example.com-id\_rsa

Host bar.example.com
  IdentityFile ~/.ssh/bar.example.com-id\_rsa


Hvor ~/.ssh/*.example.com-id\_rsa er de private nøglefiler for hver server.


Jeg håber det hjælper.

Andre referencer 2


På Windows skal du prøve Pageant et SSH-godkendelsesmiddel til PuTTY, PSCP, PSFTP og Plink. Dette værktøj kan styre ysh nøgler og dets pass-sætninger.
For at bruge det sammen med Git skal du installere Putty og link til plink.exe-indstillingen GIT\_SSH-variablen.



  1. Installer Putty og venner (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

  2. Indstil GIT\_SSH


    set GIT\_SSH=<path-to-plink.exe>

  3. Start sideant og tilføj dig nøgler

  4. Kør Git



HTH
Daniel

Andre referencer 3


Jeg vil svare lidt indirekte. Jeg har tidligere brugt git bash, og jeg har fundet ud af, at når jeg bruger git via git bash shell, at den opfører sig som en mac eller linux bash shell. Betydning, når du bruger git bash, at jeg kan svare på dit spørgsmål som:


'Hvis du bruger git bash, kan du styre flere konti, ligesom du ville, hvis du var på linux eller mac, ved hjælp af ssh-agent/ssh-add og venner'