Source Tree SSH Public Key Denied

Pracuję nad projektem w prywatnym repozytorium na https://www.bitbucket.com .

Koduję go lokalnie, a następnie uruchamiam, komentuję i pcham aktualizację do Klienta Windows Git BitBucket, Sourcetree .

Następnie pobieram pliki ze zdalnego serwera współdzielonego , który wymaga uwierzytelnienia SSH.

W celu połączenia git repo z kontem bitbucket próbowałem:

  1. uruchomił wbudowany Sourcetree ssh agent (Konkurs)
  2. dodał mój .ppk (klucz prywatny PuTTY) do konkursu przy użyciu mojego hasła
  3. otworzyłem Terminal SourceTree w miejscu mojego projektu, nazwijmy go C:/Project.
  4. używane git init do inicjalizacji repozytorium.
  5. używane git push -u origin --all w celu przepchnięcia repo z mojego komputera do BitBucket.
  6. mam ten błąd: Permission denied (publickey).
  7. próbowałem sprawdzić, czy mogę ssh -Tv [email protected] - nadal, Permission denied.
Próbuję dowiedzieć się, co poszło nie tak. - czy w ogóle znalazł mój klucz SSH? Czy klucz nie jest załadowany w określonym miejscu?

Uwaga: załadowałem klucz publiczny w moim profilu na BitBucket.

Author: t0mgs, 2014-02-25

5 answers

Do kogo może mieć ten sam problem na Macu z new Sierra. Rozwiązaniem byłoby dodanie klucza prywatnego do agenta SSH poprzez:

ssh-add -K ~/.ssh/id_rsa

Wygląda na to, że tożsamość [id_rsa] nie jest utrzymywana przez agenta SSH.

Zauważ, że nie jest to trwałe rozwiązanie .. Musisz to zrobić za każdym razem, gdy klonujesz nowy repository.At przynajmniej wtedy nie trzeba dostarczać klucza prywatnego dla każdego push to remote.

-------- aktualizacja 28.Sep.2017 --------

Rozwiązanie stałe (na "Sierra"): {]}

Kroki:

1-Upewnij się, że masz działającego agenta ssh w tle, zanim cokolwiek zrobisz.

Aby sprawdzić, czy ssh-agent jest uruchomiony przez:

pgrep 'ssh-agent'

To polecenie zwraca PID (ProcessID) tego procesu, jeśli jest uruchomiony. Jeśli widzisz wartość.. Przejdź do kroku # 2. jeśli nie, musisz uruchomić tego agenta w tle przez:

eval "$(ssh-agent -s)"

2-edytuj ~/.ssh/config (Utwórz, jeśli nie istnieje jako su ):

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

3-Następnie dodaj tego agenta klucza ( który byłby raz ):

ssh-add -K ~/.ssh/id_rsa
To wszystko.

właściwie Krok # 2 jest kluczowy. Chcę tylko dostarczyć kompletny przewodnik.

Mam nadzieję, że to ci pomoże.'.
 70
Author: Maher Abuthraa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-26 12:10:30

Musiałem zmodyfikować te ustawienia SourceTree: Tutaj wpisz opis obrazka

 14
Author: ApceH Hypocrite,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-04 21:53:05

Wiem, że to rozwiązane, ale aby dodać do zaakceptowanej odpowiedzi, nie potrzebujesz Git Basha, aby to zadziałało. Jak powiedziała Cupcake, prawdą jest, że PuTTY wysyła .ppk Pliki dla kluczy prywatnych, które nie będą działać poza zwykłym kontekstem PuTTY/Pageant.

Jest to spowodowane tym, że terminal domyślnie oczekuje znalezienia pliku o nazwie id_rsa w ~/.ssh, A PuTTY domyślnie tego nie generuje. Git Bash ' s ssh-keygen działa, dlatego rozwiązanie Toma Granota działa. Możesz, choć, za pomocą generatora kluczy PuTTY wyeksportuj ten sam plik za pomocą opcji Conversions/Export OpenSSH Key... w menu. Pamiętaj tylko, aby nazwać go id_rsa i umieścić go obok pliku id_rsa.pub, a wszystko powinno działać dobrze.

 10
Author: Frédéric Bolduc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-13 04:43:05

Cóż - znalazłem rozwiązanie po wielu próbach i błędach. Najwyraźniej używanie keygen 'a PUTTY' ego i przechowywanie nowego klucza publicznego w moim folderze .ssh nie działa. Jednak za pomocą ssh-keygen w GIT BASH , a następnie próba zalogowania się za pomocą nowej Wygenerowanej pary kluczy, działa dobrze. Z ciekawości, choć bardziej niż cokolwiek innego-chciałbym wiedzieć, dlaczego tak jest.

 8
Author: t0mgs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-28 10:02:10

Przydarzyło mi się to po aktualizacji Sourcetree na moim komputerze Mac. To, co działało dla mnie, to po prostu usunięcie wszystkiego w folderze ~/.ssh/ z wyjątkiem folderów .config i known_hosts. Następnie po prostu przejdź do sourcetree w preferencjach, Usuń swoje konto github, ponownie Dodaj profil po usunięciu wszystkich kluczy publicznych i prywatnych .ssh, a sourcetree powinien ponownie dodać klucze lokalnie i do GitHub

 2
Author: Rashad Akoodie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-05 10:52:04