Ik” heb onlangs een probleem gehad: elke keer dat ik probeer te pushen naar de git-repository (in mijn geval Bitbucket), krijg ik die foutmelding:
$ 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.
Ik heb een manier gevonden om het op te lossen door deze opdrachten uit te voeren:
eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa
Als ik dit doe en dan probeer git push origin master
, het zal werken. Maar het probleem is dat dit probleem na enige tijd begint te verschijnen (waarschijnlijk na het opnieuw opstarten, ik weet niet zeker waardoor het opnieuw verschijnt). UPD: het is hoogstwaarschijnlijk niet veroorzaakt door opnieuw opstarten, want ik heb het net onder ogen gezien 10 minuten na het uitvoeren van de bovenstaande code, en kreeg dezelfde fout. Ik heb mijn laptop sindsdien niet opnieuw opgestart.
Wat kan dergelijk gedrag veroorzaken en hoe kan ik dit oplossen?
Opmerkingen
- 1. confluence.atlassian.com/bbkb/… 2. confluence.atlassian.com/bitbucket/…
- " Sleutels toegevoegd aan de sleutelhanger via ssh -add -K worden niet automatisch opnieuw aan de ssh-agent toegevoegd na een herstart. " Heeft u de oplossingen van github geprobeerd .com / jirsbek / SSH-keys-in-macOS-Sierra-keychain ?
Answer
Ik denk dat dit gebeurt omdat je bij het genereren van je ssh-sleutel een wachtwoordzin hebt ingevoerd voor de veiligheid. Als je de ssh-agent start en ssh / rsa_id toevoegt, zou het hetzelfde moeten zijn als voor de wachtwoordzin.
[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.
Antwoord
Oké, ik ben vergeten het probleem te plaatsen: ik heb per ongeluk mijn sleutel ingesteld op een andere server voor alle hosts in ~/.ssh/config
. Dus het gebruikte het om verbinding te maken met alle hosts in plaats van de juiste. Ik heb het voor alle hosts verwijderd en alleen ingesteld voor die hosts die die sleutel nodig hadden, en het repareerde het.
Ik hoop dat het anderen zal helpen.