“ Tillatelse nektet (publickey) ” hver gang jeg prøver å presse for å git

Jeg har nylig møtt et problem: hver gang jeg prøver å presse for å git repository (i mitt tilfelle Bitbucket), får jeg den feilen:

$ git push origin master [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

Jeg har funnet en måte å løse det på ved å kjøre disse kommandoene:

eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa 

Hvis jeg skal gjøre dette og deretter prøve å git push origin master, det vil fungere. Men problemet er at dette problemet begynner å vises etter en stund (sannsynligvis etter omstart, jeg er ikke sikker på hva som får det til å vises igjen). UPD: det er sannsynligvis ikke forårsaket av omstart, fordi jeg nettopp har møtt det 10 minutter etter å ha utført koden ovenfor, og fikk den samme feilen. Jeg startet ikke den bærbare datamaskinen på nytt siden da.

Hva kan forårsake en slik oppførsel, og hvordan kan jeg fikse dette?

Kommentarer

Svar

Jeg tror dette skjedde fordi når du genererte ssh-nøkkelen din, skrev du inn en passordfrase for sikkerhet. Når du starter ssh-agenten og legger til ssh / rsa_id, bør den være som passordfrasen.

[root@user xxxxx]# eval "$(ssh-agent -s)" Agent pid 12082 [root@user xxxxx]# ssh-add /home/user/.ssh/id_rsa Enter passphrase for /home/user/.ssh/id_rsa: Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa) git push -u origin master Counting objects: 94, done. 

Svar

Ok, glemte å legge ut problemet: Jeg har ved et uhell satt nøkkelen til en annen server for alle verter i ~/.ssh/config. Så den brukte den til å koble til alle verter i stedet for den rette. Jeg har slettet den for alle verter og satt den opp bare for de vertene som krevde den nøkkelen, og den fikset den.

Håper den vil være nyttig for andre.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *