Używam TortoiseGit w systemie Windows. Kiedy próbuję klonować z menu kontekstowego standardowego Eksploratora Windows, pojawia się ten błąd:
Upewnij się, że masz odpowiednie prawa dostępu i repozytorium istnieje
Dokładniej, migawka terminala przedstawia się następująco:
klon git.exe --progress -v "git @ arobotdev: \ git \ AlfaRobot.git" "C: \ Work \ AlfaRobot"
Klonowanie do 'C: \ Work \ AlfaRobot' ...
Odmowa dostępu , spróbuj ponownie.
Odmowa dostępu, spróbuj ponownie.
Odmowa dostępu (klucz publiczny, hasło).
krytyczny: nie można odczytać ze zdalnego repozytorium.
Upewnij się, że masz odpowiednie prawa dostępu
i repozytorium istnieje.
git nie zakończył poprawnie (kod zakończenia 128) (21450 ms @ 19.09.2014 10:36:58)
Co powinienem zrobić, aby git działał poprawnie?
źródło
$ ssh-keygen -t rsa -C "[email protected]"
Odpowiedzi:
Twój adres URL git mógł się zmienić. Zmień adres URL w katalogu lokalnym za pomocą następującego polecenia
źródło
git remote set-url origin https://github.com/username/repository.git
git
ihttps
.XXXXXXX
?xclip -sel clip < ~/.ssh/id_rsa.pub
, ale podczas wklejania do pola wprowadzania klucza na github, usunąłem ostatnią nową linię za pomocą backspace, co faktycznie zmieniło klucz publiczny. Dlatego zawsze kopiuj i wklejaj publiczny klucz ssh bez usuwania ostatniej nowej linii.Ten problem może występować z twoim ssh-agent, twój klucz ssh nie został dodany przez ssh-agent. Musisz wykonać następujące kroki używając twojego terminala: -
$ eval "$ (ssh-agent -s)"
Numer identyfikacyjny agenta 5867
$ ssh-add
Wprowadź hasło do /home/you/.ssh/id_rsa: [] Dodano tożsamość: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
to zadziała..chody J.
źródło
fatal: Could not read from remote repository.
brew update
. kiedy uruchomiłemssh-add
przed uruchomieniem polecenia, zadziałało. mam nadzieję, że nie muszę tego powtarzać cały czas.Spróbuj użyć HTTPS zamiast SSH podczas pobierania klonu z GIT, użyj tego adresu URL do pobrania klonu, możesz użyć Gitbase, Android Studio lub dowolnego innego narzędzia do klonowania gałęzi.
źródło
U mnie to z powodu braku klucza SSH na maszynie. Sprawdź klucz SSH lokalnie:
To jest Twój klucz SSH. Dodaj go do kluczy SSH w repozytorium.
W gitlab przejdź do
i dodaj klucz
źródło
Github używa teraz schematu adresu URL
git remote set-url origin https://github.com/username/repository.git
źródło
fatal: No such remote 'origin'
. Mam repozytorium na githubie i zainicjowałem lokalne repozytorium git na moim komputerze zgit init
.Próbujesz sklonować repozytorium przez ssh:,
git@arobotdev...
a twoje klucze SSH nie są poprawnie ustawione na serwerze. Istnieje wiele powodów takiego stanu rzeczy:Jeśli wszystkie powyższe 3 są nieprawdziwe, moim jedynym wnioskiem może być spróbowanie:
git@arobotdev:AlfaRobot.git
Zakładając, że AlfaRobot.git znajduje się w HOMEDIR użytkownika git, a nie w folderze o nazwie git, który znajduje się w HOMEDIR użytkownika git.źródło
Rsa.pub (czyli wygenerowany klucz publiczny), należy dodać na stronie github >> settings >> ssh keys. Sprawdź, czy nie dodałeś tego klucza publicznego w ustawieniach repozytorium >> klucze wdrażania. Jeśli tak, usuń wpis z tego miejsca i dodaj do pierwszego wymienionego miejsca.
Ustawienia klawiszy PUB-prywatne w szczegółach .
Odtąd będzie działać!
źródło
Jeśli działał wcześniej i nagle przestał działać:
Ten problem może być spowodowany tym, że czasami
ssh-agent
nie jest trwały po ponownym uruchomieniu. Powinieneś sprawdzić, czyssh-agent
dodano Twój klucz:jeśli otrzymasz wynik, taki jak:
oznacza to, że
ssh-agent
zgubiłeś klucz. W takim przypadku wystarczy ponownie dodać klucz tożsamości. Coś jak:Błąd powinien teraz zniknąć!
źródło
git_rsa
do listyPierwszą rzeczą, którą możesz chcieć potwierdzić, jest połączenie internetowe. Chociaż problemy z Internetem będą głównie oznaczać, że nie można uzyskać dostępu do repozytorium.
Upewnij się, że skonfigurowałeś ssh zarówno lokalnie, jak i na swoim githubie. Zobacz jak
Upewnij się, że używasz pilota ssh git. Jeśli sklonowałeś https, po prostu ustaw adres URL na adres ssh za pomocą tego polecenia git
git remote set-url origin [email protected]:your-username/your-repo-name.git
Jeśli poprawnie skonfigurowałeś ssh, ale po prostu przestał działać, wykonaj następujące czynności:
eval "$(ssh-agent -s)"
ssh-add
Jeśli nadal masz problem, sprawdź, czy nie usunąłeś ssh ze swojego github. W przypadku, gdy ssh został usunięty z github, możesz dodać go z powrotem. Użyj,
pbcopy < ~/.ssh/id_rsa.pub
aby skopiować klucz ssh, a następnie przejdź do ustawień ssh na github i dodaj je.źródło
Miałem ten problem i odkryłem, że mój system miał nieprawidłowy adres DNS. Zweryfikuj swoją sieć i przetestuj z
I przeczytaj komunikaty wyjściowe. Jeśli widzisz komunikat „Możesz użyć git lub hg, aby połączyć się z Bitbucket”. , wszystko w porządku.
źródło
Natknąłem się na ten błąd podczas przesyłania projektu do gitlab. Nie sklonowałem z gita, ale zamiast tego załadowałem projekt. Aby przesłać kod do gitlab, możesz skorzystać z dwóch sposobów: ssh lub https. Jeśli używasz https, musisz podać nazwę użytkownika i hasło do konta gitlab. Aby przesłać kod do gita, możesz użyć następującego.
Pierwsze przeniesienie do Git
Parametr -C jest opcjonalny, zapewnia komentarz na końcu klucza, aby odróżnić go od innych, jeśli masz wiele. Spowoduje to utworzenie id_rsa (twój klucz prywatny) i id_rsa.pub (twój klucz publiczny). Przekazujemy nasz klucz publiczny i przechowujemy nasz klucz prywatny - no cóż, prywatny. Użytkownik Gitlab za Ustawienia miejscu można byłoby następnie dodać swój klucz publiczny do konta , co pozwala nam w końcu popchnąć.
W lokalizacji twojego projektu (katalogu) użyj poniższego polecenia
Przekształca bieżący katalog w repozytorium Git. Dodaje to podkatalog .git do bieżącego katalogu i umożliwia rozpoczęcie nagrywania wersji projektu.
Push przy użyciu ścieżki https
Wciśnij używając ścieżki ssh
- konfiguracja upstream: informuje git o ścieżce do pochodzenia. Jeśli Git wcześniej wypchnął Twoją aktualną gałąź, zapamięta, gdzie jest początek
master : jest to nazwa gałęzi, do której chcę przekazać podczas inicjalizacji
źródło
Jeśli korzystasz z udostępnionego komputera, używanie własnego hasła lub klucza prywatnego bez hasła może być przesadą. Bezpieczniejszą opcją jest token dostępu:
Jeśli sklonowałeś już repozytorium, możesz po prostu zmodyfikować zdalne ustawienie:
źródło
Oto, jak rozwiązuję ten problem. Używałem Babun (mintty.exe) na Win7 / 10. Kiedy wypróbowałem wiele wyżej wymienionych rozwiązań i żadne z nich nie działa. Zdałem sobie sprawę, że może właśnie użyłem złego agenta SSH ... Więc biegnę,
echo $GIT_SSH
aby się dowiedzieć, pokazuje ścieżkę doPlink.exe
. Właściwie to się spodziewałem, to OpenSSH.Więc dodaję następującą jedną linijkę do
~/.zshrc
plikuI to działa!
źródło
dodaj te linie do swojego
.get/config
pliku (dzięki @kovshenin answer Git Pull: Change Authentication ):źródło
Spróbuj https zamiast ssh. Wybierz opcję https ze strony głównej projektu, z której kopiujesz adres URL do klonowania.
źródło
Używam Ubuntu
po przeczytaniu wielu odpowiedzi żadna z nich nie może rozwiązać problemu, nawet jeśli już dodałem klucz SSH do mojego konta git i spróbuję go przetestować przy użyciu
ssh -T [email protected]
i powiedziałWelcome <my username>
, ale nadal powtarzał mi, że nie mam praw dostępu. Wtedy znalazłem powód:Zwykle, jeśli nie jesteś
root
użytkownikiem, będzie to wymagało uruchomieniasudo
każdego polecenia git.podczas biegania
sudo git clone <SSH....>
(na przykład). zostanie wykonany zroot
uprawnieniami, ale przypadkowo podczas tworzenia klucza SSH uruchamiam go jako zwykły użytkownik i zapisuję klucz w~/.ssh/id_rsa
, rozwiązuje ścieżkę bezwzględną/home/username/.ssh/id_rsa
. A kiedysudo git clone ...
to robi , szuka klucza SSH w/root/.ssh/id_rsa
Dlaczego jestem tego pewien. Aby zobaczyć, gdzie git szuka Twojego klucza SSH. Uruchom komendę:
sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>
. Pokaże ci, gdzie szuka twojego klucza SSH.Więc ROZWIĄZANIE, które proponuję to:
Ponowne tworzenie klucza SSH (postępuj zgodnie z tą instrukcją ), ALE uruchom
sudo su
na pierwszym kroku, wtedy wszystko będzie dobrze.źródło
Może się to również zdarzyć, jeśli łączysz się z repozytorium git przez VPN. Upewnij się, że masz połączenie z siecią VPN, która jest używana do uzyskiwania dostępu do zasobów Twojej organizacji.
źródło
U mnie miałem problem z firmowym VPN, po rozłączeniu działało dobrze.
Sprawdź połączenie z githubem za pomocą polecenia
ssh -vvvT [email protected]
źródło
Alternatywnym problemem może być połączenie internetowe. Może to oczywiste, ale zajęło mi kilka minut, zanim zorientowałem się, że moje wifi nie działa :)
źródło
Podobnie jak w przypadku innych odpowiedzi, rozwiązaniem było użycie
https
zamiastssh
.Wpisuję odpowiedź, aby podać konkretny przykład możliwego rozwiązania. Rozwiązałem ten problem z bitbucket, kiedy zmieniłem zdalny adres URL na HTTPS za pomocą tego wiersza poleceń:
Następnie mogłem wypchnąć zawartość do repozytorium za pomocą tego polecenia:
A potem mógłbym też użyć Sourcetree
źródło
O dziwo otrzymałem ten błąd tylko w 1 z wielu moich repozytoriów.
Mój problem pojawił się po zainstalowaniu nowego GitHub Desktop dla Windows, w którym poprzedni stary GitHub for Win trzymał klucze
~/.ssh/github_rsa
i~/.ssh/github_rsa.pub
gdzie nowy GitHub for Win tego oczekuje,~/.ssh/id_rsa
więc rozwiązanie polegało tylko na zmianie nazwy istniejących kluczy prywatnych i publicznych:Po czym pozwolę mi ponownie uzyskać dostęp do repozytorium bez problemu.
źródło
użyj źródła https zamiast ssh url
przykład:
źródło
Dodanie klucza ssh zadziałało dla mnie. Możesz utworzyć klucz ssh za pomocą polecenia ssh-keygen na komputerze Mac. Powinieneś być w stanie zobaczyć menu Wdróż klucze w YourRepository> Ustawienia, nie zapomnij zaznaczyć opcji Zezwól na dostęp do zapisu.
zrzut ekranu menu kluczy wdrażania
źródło
Popełniłem bardzo częsty błąd. Skopiowałem za pomocą polecenia clip
xclip -sel clip < ~/.ssh/id_rsa.pub
, ale podczas wklejania do pola wprowadzania klucza na github, usunąłem ostatnią nową linię za pomocą backspace, co faktycznie zmieniło klucz publiczny.Dlatego zawsze kopiuj i wklejaj publiczny klucz ssh bez usuwania ostatniej nowej linii.
źródło
Przejście na korzystanie z protokołu HTTPS działa. Najpierw przełącz się na klucze https zamiast ssh. git remote set-url origin
Następnie poprosi o nazwę użytkownika i hasło git.
źródło
Wystąpił ten problem, gdy miałem nieprawidłowy klucz RSA SSH i prawidłowy klucz SSH ED25519 na moim komputerze. Uważam, że Gitlab sprawdzał klucz RSA, zawodząc i zatrzymując się przed sprawdzeniem klucza ED25519.
Naprawiłem to, usuwając oba klucze, które miałem na swoim urządzeniu, i generując nowy RSA SSH, a także udostępniając go gitlab.
źródło