mam wiele kluczy ssh i mam również konto na bitbucket i github. jak zawsze, gdy używam pull, daje mi to błąd
:/var/www/proj$ git pull origin master
conq: repository access denied.
fatal: The remote end hung up unexpectedly
lub jeśli ssh na stronie bitbucket, daje błąd w dupie klucz publiczny odrzucony
:~$ ssh [email protected]
Permission denied (publickey).
jak mogę rozwiązać ten problem i używać różnych kluczy z różnymi kontami.
Odpowiedzi:
Wszystko to jest zebrane ze strony internetowej i przepełnienia stosu, mam nadzieję, że pomoże to nowym użytkownikom ssh
więc możesz mieć wiele kluczy ssh
Uwaga: musimy dodać następnie do ssh-agent, prawdopodobnie id_rsa zostanie dodany, więc musimy dodać drugi klucz prywatny
teraz dodaliśmy oba klucze ssh do ssh-agent
mamy jeden na bitbucket i jeden na github
więc tworzymy taki plik konfiguracyjny
Uwaga: używam 2 różnych kluczy dla 2 różnych kont na bitbucket i jednego dla github.
Teraz musimy powiedzieć repozytorium git, którego hosta użyć, aby uzyskać konkretny klucz ssh dla tego konkretnego konta
zmień
[email protected]/yyyproject.git
nagit@bit-yyyuser:yyyuser/yyyproject.git
więc w folderze projektu i dodaj zdalny adres URL
w innym projekcie
teraz możesz łatwo korzystać z funkcji push i pull
i inny projekt
teraz nie mam projektu github na lokalnej maszynie, więc musimy sklonować projekt, ale musimy wprowadzić niewielką zmianę adresu URL do klonowania
nasz adres URL jest taki
ponieważ musimy go sklonować za pomocą określonych kluczy, musimy tylko zmienić nazwę hosta na hosta, który zdefiniowaliśmy
jak zdefiniowano w pliku konfiguracyjnym
a teraz możemy sklonować
zidentyfikowaliśmy różne klucze ssh dla różnych hostów, jeden dla git i jeden dla bitbucket, teraz system wie, które klucze ssh powinny być używane z danym hostem.
Teraz możemy łatwo ciągnąć, pchać.
źródło
Konfiguruję
~/.ssh/config
tak:następnie użyj niestandardowej nazwy hosta zamiast prawdziwej domeny w git url:
Aby uzyskać więcej informacji, przeczytaj tutaj: http://itblog.study.land/how-to-specify-different-ssh-keys-for-git-push-for-a-given-domain/
źródło