“ Permisiunea refuzată (publickey) ” de fiecare dată când încerc să apăs pe git

M-am confruntat recent cu o problemă: de fiecare dată când încerc să apăs pe depozitul git (în cazul meu, Bitbucket), primesc acea eroare:

$ 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. 

Am găsit o modalitate de a o rezolva executând aceste comenzi:

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

Dacă voi face acest lucru și apoi voi încerca să git push origin master, va funcționa. Dar problema este că această problemă începe să apară după o perioadă de timp (probabil după repornire, nu sunt sigur ce cauzează apariția din nou). UPD: cel mai probabil nu este cauzată de repornire, pentru că tocmai m-am confruntat cu ea La 10 minute după executarea codului de mai sus și am primit aceeași eroare. De atunci nu mi-am repornit laptopul.

Ce poate provoca un astfel de comportament și cum pot remedia acest lucru?

Comentarii

Răspuns

Cred că acest lucru se întâmplă deoarece, atunci când v-ați generat cheia ssh, ați introdus o expresie de acces pentru securitate. Când porniți agentul ssh și adăugați ssh / rsa_id, ar trebui ca pentru fraza de acces.

[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. 

Răspundeți

Bine, am uitat să postez problema: „Am setat din greșeală cheia pe alt server pentru toate gazdele din ~/.ssh/config. Așa că a folosit-o pentru conectarea la toate gazdele în loc de cea potrivită. L-am șters pentru toate gazdele și l-am configurat numai pentru acele gazde care au necesitat cheia respectivă și l-am remediat.

Sper că va fi de ajutor pentru alții.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *