Jestem na Mac Snow Leopard i właśnie zainstalowałem git
.
Właśnie próbowałem
git clone [email protected]:cakebook.git
ale to daje mi ten błąd:
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
czego mi brakuje?
Próbowałem również zrobić ssh-keygen
bez passphase, ale nadal ten sam błąd.
git
ssh
ssh-keys
public-key
teepusink
źródło
źródło
sudo
- to inny użytkownik z innym kluczem publicznym.ssh-keygen
narzędziem. Usunięcie starego klucza publicznego w ustawieniach osobistych na github i dodanie mojego wygenerowanego przez ssh klucza id_rsa.pub do kluczy SSH i GPG naprawiło problemy z uprawnieniami do klonowania.Odpowiedzi:
Jeśli użytkownik nie wygenerował wcześniej pary kluczy publiczny / prywatny ssh
Te informacje działają na TheChaw, ale można je zastosować do wszystkich innych repozytoriów git, które obsługują uwierzytelnianie klucza publicznego SSH. (Patrz na przykład gitolite , gitlab lub github.)
Dalsze informacje można znaleźć na https://help.github.com/articles/generating-ssh-keys (dzięki @Lee Whitney) -
Jeśli użytkownik wygenerował wcześniej zestaw kluczy publiczny / prywatny ssh
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
źródło
ssh-add ~/.ssh/id_rsa
.xclip
w systemie Linux działało tylko poprzez wykonanie następujących czynnościxclip -sel clip < ~/.ssh/id_rsa.pub
: help.github.com/articles/generating-ssh-keysBardziej szczegółowe rozwiązywanie problemów, a nawet automatyczne naprawianie można wykonać za pomocą:
Źródło: https://help.github.com/articles/error-permission-denied-publickey/
źródło
Ten błąd może wystąpić, gdy uzyskujesz dostęp do adresu URL SSH (odczyt / zapis) zamiast adresu URL Git tylko do odczytu, ale nie masz dostępu do zapisu do tego repozytorium.
Czasami chcesz po prostu sklonować własne repozytorium, np. Wdrożyć na serwerze. W takim przypadku potrzebujesz dostępu TYLKO DO CZYTANIA. Ale ponieważ jest to twoje własne repozytorium, GitHub może wyświetlać adres URL SSH, jeśli taka jest twoja preferencja. W tej sytuacji, jeśli klucz publiczny zdalnego hosta nie znajduje się w kluczach SSH GitHub, dostęp zostanie odmówiony, co prawdopodobnie nastąpi .
Analogiczny przypadek ma miejsce, gdy próbujesz sklonować czyjąś repozytorium, do którego nie masz dostępu do zapisu za pomocą adresu URL SSH.
Jednym słowem, jeśli zamierzasz sklonować tylko repozytorium, użyj HTTPS URL (
https://github.com/{user_name}/{project_name}.git
) zamiast SSH URL ([email protected]:{user_name}/{project_name}.git
), co pozwala uniknąć (niepotrzebnej) weryfikacji klucza publicznego.Aktualizacja: GitHub wyświetla teraz HTTPS jako domyślny protokół, a ten ruch może prawdopodobnie zmniejszyć potencjalne niewłaściwe użycie adresów URL SSH.
źródło
https://github.com
adresu URL git nadal jest napisaneSSL certificate problem: self signed certificate in certificate chain
.git -c http.sslVerify=false clone ...
wygląda na niebezpieczny ruch. Chrome nie wyświetla jednak żadnych ostrzeżeń ssl. Myśli?git clone https://github.com/MyUserName/MyRepo.git
Wystarczy kliknąć łącza tekstowe pod adresem URL repo po prawej stronie strony Github, gdzie jest napisane: „ Możesz sklonować za pomocą HTTPS, SSH lub Subversion . ” (Kliknij HTTPS, aby uzyskać link zamiast domyślnego SSH .)Link pomocy github pomógł mi rozwiązać ten problem. Wygląda na to, że klucz ssh nie został dodany do agenta ssh. To właśnie skończyłem.
Polecenie 1:
Upewnij się, że ssh-agent jest włączony. Polecenie uruchamia agenta ssh w tle:
Polecenie 2:
Dodaj swój klucz SSH do agenta ssh:
źródło
Dostałem ten sam raport o błędzie.
Naprawiono przy użyciu HTTP zamiast tego. Ponieważ nie chcę ustawiać „kluczy SSH” dla testowego komputera.
Po sklonowaniu zmień adres URL na HTTP
Mój problem jest trochę inny : mam ustawiony adres URL podczas dodawania istniejącego lokalnego repozytorium do zdalnego, używając:
Aby to naprawić, zresetuj URL na HTTP:
BTW, możesz sprawdzić swój adres URL za pomocą polecenia:
Mam nadzieję, że to pomoże komuś takiemu jak ja. :RE
źródło
To działa dla mnie:
źródło
Pamiętaj, że (przynajmniej w przypadku niektórych projektów) musisz mieć konto github z kluczem ssh .
Spójrz na klucze wymienione w agencie uwierzytelniającym ( ssh-add -l )
(jeśli go nie widzisz, dodaj jeden z istniejących kluczy za pomocą ssh-add / path / to / your / key (np .: ssh-add ~ /.ssh/id_rsa ))
(jeśli nie masz żadnych kluczy, najpierw je utwórz. Zobacz: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html lub po prostu google ssh-keygen)
Aby sprawdzić, czy masz klucz powiązany z kontem github :
Idź do: https://github.com/settings/ssh
Powinieneś zobaczyć co najmniej jeden klucz z kluczem skrótu pasującym do jednego z skrótów, które widziałeś, gdy przed chwilą wpisałeś ssh-add -l .
Jeśli nie, dodaj jedną, a następnie spróbuj ponownie.
źródło
Walczyłem z tym samym problemem, co zrobiłem i udało mi się sklonować repo. Postępowałem zgodnie z tą procedurą dla iMaca .
Pierwszy krok: sprawdzenie, czy mamy już publiczny klucz SSH.
ls -al ~/.ssh
aby sprawdzić, czy istnieją istniejące klucze SSH:Sprawdź listę katalogów, aby sprawdzić, czy masz już publiczny klucz SSH. Domyślne są następujące: d_dsa.pub, id_ecdsa.pub, id_ed25519.pub, id_rsa.pub
Jeśli nie znajdziesz, przejdź do kroku 2, w przeciwnym razie wykonaj krok 3
Krok 2: Generowanie publicznego klucza SSH
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair
. Gdy pojawi się monit o"Enter a file in which to save the key,"
naciśnięcie Enter. To akceptuje domyślną lokalizację pliku. Gdy pojawi się monitEnter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Po prostu naciśnij ponownie Enter. Po wyświetleniu monitu wpisz bezpieczne hasło.Enter passphrase (empty for no passphrase): [Type a passphrase]
naciśnij Enter, jeśli nie chceszEnter same passphrase again: [Type passphrase again]
ponownie nacisnąć EnterTo wygeneruje
id_rsa.pub
Krok 3: Dodanie klucza SSH do agenta ssh
eval "$(ssh-agent -s)"
$ ssh-add -K ~/.ssh/id_rsa
Teraz skopiuj klucz SSH, a także dodaj go do swojego konta github
pbcopy < ~/.ssh/id_rsa.pub
Spowoduje to skopiowanie pliku do schowka Teraz otwórz konto github Przejdź do Ustawienia> Klucze SSH i GPG> Nowy klucz SSH Wpisz tytuł i wklej klucz ze schowka i zapisz go. Voila, gotowe.źródło
Miałem nieco inną sytuację, byłem zalogowany na zdalnym serwerze i korzystałem z git na serwerze, kiedy uruchomiłem dowolne polecenie git, dostałem tę samą wiadomość
Naprawiłem to, zmieniając plik / etc / ssh_config na moim komputerze Mac. od
do
źródło
config.ssh.forward_agent = true
, zrestartowałem maszynę wirtualną i teraz działa.Spotkałem ten sam problem, ponieważ uważano, że różnica między SSH a HTTPS jest
https://github.com/USERNAME/REPOSITORY.git
ssh://github.com/USERNAME/REPOSITORY.git
Więc zmieniłem HTTPS na SSH, po prostu zmieniając
https://
nassh://
nic na końcu adresu URL został zmieniony.Ale prawda jest taka:
Co oznacza, że zmieniłem
ssh://github.com/USERNAME/REPOSITORY.git
na[email protected]:USERNAME/REPOSITORY.git
to działa.Głupi błąd, ale nadzieja pomaga komuś!
źródło
ssh://github.com/USERNAME/REPOSITORY.git
na[email protected]:USERNAME/REPOSITORY.git
to działa.ssh
zamiast,https
więc właśnie zmieniłem „https: //” na „ssh: //”, a następnie dostałem błąd. Więc zmień 'ssh: // git /../ `na' git @ .. /":) Zredagowałem moją odpowiedź.W systemie Windows upewnij się, że wszystkie aplikacje są zgodne z programem HOME. Msys zaskakująco NIE zrobi tego za ciebie. Musiałem ustawić zmienną środowiskową, ponieważ ssh i git nie mogły zgodzić się co do tego, gdzie był mój katalog .ssh.
źródło
Czy jesteś w środowisku korporacyjnym ? Czy to możliwe, że zmienne systemowe ostatnio się zmieniły? Na podstawie tej odpowiedzi SO klucze ssh są dostępne na stronie
%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub
. Więc jeśli%HOMEDRIVE%
ostatnio się zmieniłeś, git nie wie, gdzie szukać twojego klucza, a tym samym wszystkich elementów uwierzytelniających.Spróbuj uruchomić
ssh -vT [email protected]
. Zwróć uwagę naidentity file
lokalizację. Dla mnie to nie wskazywało na mój normalny,\Users\MyLogin
ale raczej na dysk sieciowy, z powodu zmiany zmiennych środowiskowych wypychanych na poziomie sieci.Rozwiązanie? Ponieważ mój nowy
%HOMEDRIVE%
ma takie same uprawnienia jak moje lokalne pliki, właśnie przeniosłem tam swój folder .ssh i nazwałem go dniem.źródło
Ludzie, tak to dla mnie działało:
Uwaga : Nie powinieneś używać polecenia sudo z Git. Jeśli masz bardzo dobry powód, musisz użyć sudo, a następnie upewnij się, że używasz go z każdą komendą (prawdopodobnie lepiej jest użyć su, aby uzyskać powłokę jako root w tym momencie). Jeśli wygenerujesz klucze SSH bez sudo, a następnie spróbujesz użyć polecenia takiego jak sudo git push, nie będziesz używać tych samych kluczy, które wygenerowałeś
źródło
Podstawowe instrukcje GIT nie zawierały odniesienia do klucza SSH. Po kilku powyższych linkach znalazłem stronę pomocy git, która krok po kroku wyjaśnia, jak to zrobić dla różnych systemów operacyjnych (link odpowiednio wykryje twój system operacyjny i przekieruje):
http://help.github.com/set-up-git-redirect/
Przegląda wszystko, co jest potrzebne do GITHub, a także podaje szczegółowe wyjaśnienia, takie jak „po co dodawać hasło podczas tworzenia klucza RSA”. Pomyślałem, że to opublikuję, na wypadek, gdyby pomógł komuś innemu ...
źródło
Jeden z najprostszych sposobów
idź do terminalu
źródło
Oprócz odpowiedzi Rufinusa skrót do skopiowania klucza ssh do schowka w systemie Windows to:
type id_rsa.pub | clip
Refs:
źródło
Jeśli masz więcej niż jeden klucz, być może będziesz musiał to zrobić
ssh-add private-keyfile
źródło
Wystąpił ten błąd, ponieważ musiałem dać moje obecne uprawnienia do katalogu roboczego 700:
źródło
Musiałem skopiować klucze ssh do folderu głównego. Google Cloud Compute Engine z systemem Ubuntu 18.04
źródło
Właśnie napotkałem ten problem podczas ustawiania mojego bieżącego projektu i żadne z powyższych rozwiązań nie działa. więc próbowałem sprawdzić, co naprawdę dzieje się na liście debugowania, używając polecenia ssh -vT [email protected]. Zauważam, że mojej nazwy pliku klucza prywatnego nie ma na liście. więc zmiana nazwy pliku klucza prywatnego na „id_rsa” to zadanie. mam nadzieję, że to może pomóc.
źródło
To całkiem proste. Wpisz poniższe polecenie
Wygeneruj klucz SSH. Otwórz plik i skopiuj zawartość. Przejdź do strony ustawień GitHub i kliknij klucz SSH. Kliknij Dodaj nowy klucz SSH i wklej tutaj zawartość. To wszystko :) Nie powinieneś więcej widzieć tego problemu.
źródło
Otrzymałem podobny błąd odmowy uprawnień (publickey) podczas próby uruchomienia makefile.
Alternatywnie do powyższych kroków SSH możesz zainstalować natywną aplikację GitHub dla komputerów Mac.
Kliknij Pobierz GitHub na Maca z - https://help.github.com/articles/set-up-git#platform-mac
Po zakończeniu konfiguracji przy użyciu konta git hub (zainstalowałem również narzędzia wiersza polecenia git hub, ale nie jestem pewien, czy ten krok jest wymagany, czy nie), otrzymałem wiadomość e-mail -
[GitHub] Nowy klucz publiczny został dodany do twojego konta
i mój błąd został naprawiony.
źródło
Otrzymywałem ten sam błąd. Moim problemem było mieszanie się w sudo.
Nie mogłem utworzyć katalogu, w którym klonowałem się automatycznie, bez prefiksu polecenia git clone w sudo. Kiedy to zrobiłem, moje klucze ssh nie były jednak poprawnie przywoływane.
Aby to naprawić, ustawiam uprawnienia poprzez chmod w katalogu nadrzędnym, w którym chciałbym umieścić mój klon, aby móc do niego pisać. Potem uruchomiłem git clone BEZ prefiksu sudo. Potem zadziałało! Później zmieniłem uprawnienia. Gotowy.
źródło
Otrzymałem ten błąd, ponieważ wygenerowałem klucze ssh z niewłaściwym adresem e-mail. Udało mi się połączyć za pomocą ssh, ale nie używając git. Rozwiązaniem było ponowne wygenerowanie kluczy przy użyciu głównego adresu e-mail mojego konta github.
źródło
To zadziałało dla mnie.
Twój klucz publiczny jest zapisywany w pliku id_rsa.pub; i jest kluczem, który przesyłasz na swoje konto. Możesz zapisać ten klucz do schowka, uruchamiając to:
źródło
To zadziałało dla mnie
źródło
Najłatwiejszym rozwiązaniem tego problemu, gdy próbujesz przesłać do repozytorium z inną nazwą użytkownika, jest:
źródło
Ten dziwny błąd w moim przypadku był objawem
gnome-keyring-daemon
niepoprawnej nazwy klucza, do którego wymagało hasła.Postępuję zgodnie z krokami opisanymi tutaj i wprowadziłem hasło przez terminal. Błąd, zwany także mylącym interfejsem GUI, został rozwiązany. Zobacz: /ubuntu/3045/how-to-disable-gnome-keyring
źródło
W moim przypadku ponownie zainstalowałem ubuntu i nazwa użytkownika została zmieniona z poprzedniej. W tym przypadku wygenerowany klucz ssh również różni się od poprzedniego.
Problem rozwiązany przez skopiowanie bieżącego klucza publicznego ssh do repozytorium. Klucz będzie dostępny dla twojego użytkownika
/home/.ssh/id_rsa.pub
źródło
Na moim MAC rozwiązałem to z:
Z jakiegoś powodu mój git przestał znajdować klucz prywatny w
github_rsa
pliku. Stało się to w określonym repozytorium. Mam na myśli, że w innych repozytoriach git działał normalnie.Myślę, że to błąd.
Mogłem znaleźć takie zachowanie
ssh -vT [email protected]
źródło