Jag har nyligen mött ett problem: varje gång jag försöker trycka på git-arkivet (i mitt fall Bitbucket) får jag det felet:
$ 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.
Jag har hittat ett sätt att lösa det genom att köra dessa kommandon:
eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa
Om jag gör det här och försök sedan git push origin master
, det fungerar. Men problemet är att det här problemet börjar dyka upp efter en tid (troligen efter omstart, jag är inte säker på vad som får det att visas igen). UPD: det är troligtvis inte orsakat av omstart, för jag har precis mött det Tio minuter efter att ha kört koden ovan och fick samma fel. Jag startade inte om min bärbara dator sedan dess.
Vad kan orsaka ett sådant beteende och hur kan jag åtgärda det?
Kommentarer
- 1. confluence.atlassian.com/bbkb/… 2. confluence.atlassian.com/bitbucket/…
- " Nycklar läggs till i nyckelringen via ssh -add -K läggs inte automatiskt till ssh-agenten efter en omstart. " Har du provat lösningarna från github .com / jirsbek / SSH-key-in-macOS-Sierra-keychain ?
Svar
Jag tror att detta händer för att när du genererade din ssh-nyckel, angav du en lösenfras för säkerhet. När du startar ssh-agenten och lägger till ssh / rsa_id ska det vara som för lösenfrasen.
[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
Okej, glömde att lägga upp problemet: Jag har av misstag ställt in min nyckel till en annan server för alla värdar i ~/.ssh/config
. Så den användes för att ansluta till alla värdar istället för den rätta. Jag har tagit bort den för alla värdar och ställt in den bara för de värdar som krävde den nyckeln, och den fixade den.
Hoppas att den kommer att vara till hjälp för andra.