Nedávno jsem narazil na problém: pokaždé, když se pokusím odeslat do úložiště git (v mém případě Bitbucket), zobrazí se mi tato chyba:
$ 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.
Našel jsem způsob, jak to vyřešit spuštěním těchto příkazů:
eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa
Pokud to udělám a zkusím git push origin master
, bude to fungovat. Ale problém je, že tento problém se začíná objevovat po nějaké době (pravděpodobně po restartu, nejsem si jistý, co to způsobí, že se znovu objeví) UPD: pravděpodobně to není způsobeno restartováním, protože jsem tomu čelil 10 minut po provedení výše uvedeného kódu a došlo ke stejné chybě. Od té doby jsem notebook nerestartoval.
Co může takové chování způsobit a jak to mohu opravit?
Komentáře
- 1. confluence.atlassian.com/bbkb/… 2. confluence.atlassian.com/bitbucket/…
- " Klíče přidané do klíčenky pomocí ssh -add -K se po restartu automaticky znovu nepřidají do agenta ssh. " Vyzkoušeli jste řešení z github .com / jirsbek / SSH-keys-in-macOS-Sierra-keychain ?
Odpověď
Myslím, že k tomu došlo, protože když jste vygenerovali klíč ssh, zadali jste přístupovou frázi pro zabezpečení. Když spustíte agenta ssh a přidáte ssh / rsa_id, mělo by to být jako pro přístupové heslo.
[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.
Odpovědět
Dobře, zapomněl jsem zveřejnit problém: Neúmyslně jsem nastavil klíč na jiný server pro všechny hostitele v ~/.ssh/config
. Použil ho tedy pro připojení k všichni hostitelé místo toho pravého. Smazal jsem ho pro všechny hostitele a nastavil jsem ho pouze pro ty hostitele, kteří tento klíč požadovali, a opravil to.
Doufám, že to bude užitečné ostatním.