Przepraszam za odrobinę frustracji, którą postaram się trzymać w ryzach, ponieważ Heroku używa SO jako wsparcia klienta (co uważam za co najmniej tandetne).
Od pięciu godzin próbuję zmusić aplikację do opublikowania, ale niezmiennie coś idzie nie tak z kluczami. Przeczytałem dziesiątki artykułów i wypróbowałem wskazówkę za wskazówką, próbując dowiedzieć się, gdzie w tym głupim, całkowicie nieprzejrzystym procesie Heroku schrzanił.
Mój przypadek użycia nie jest taki trudny: stworzyłem nową parę kluczy dla moich aplikacji heroku. Ustawiłem ten klucz jako mój klucz:
> heroku keys
=== [email protected] Keys
ssh-rsa AAAAB3NzaC...avOqfA7ZBd [email protected]
Mogę się zalogować i „stworzyć” aplikację (głupia nazwa, bo wygląda na to, że tworzy repozytorium git, a nie jakąkolwiek aplikację) bez problemu. Ale za każdym * cholernym * razem, gdy próbuję uruchomić moją aplikację, otrzymuję:
> git push heroku master
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Nie mam wglądu w to, że WTF się z tym dzieje; Utknąłem waląc głową w klawiaturę bez ucieczki, ale mam nadzieję, że wszechmocny bóg Google może na to odpowiedzieć. A Google nie odpowiada na to (cóż, cofnę się, widziałem kilkanaście sposobów, aby odpowiedzieć na to pytanie).
Jak na system, który ma być łatwy, to żart. Podoba mi się pomysł Heroku, ale po zrobieniu pięciu godzin, aby nic nie zrobić, myślę, że może to zły wybór.
Odpowiedzi:
W Internecie istnieje wiele rozwiązań. Spróbuję zebrać dostępne opcje w jednym poście. Po każdym kroku spróbuj ponownie nawiązać połączenie.
Krok 1: Spróbuj dodać swój klucz publiczny do Heroku
Krok 2: Wygeneruj nowy zestaw kluczy SSH, a następnie spróbuj ponownie wykonać pierwszy krok
https://help.github.com/articles/generating-ssh-keys
Krok 3: Sprawdź i / lub zmodyfikuj plik konfiguracyjny
Krok 4: Usuń pilota heroku z git, aby odtworzyć połączenie, dodanie pilota przez heroku create będzie dostępne tylko dla nowych repozytoriów. Pamiętaj, aby usunąć stare repozytorium, które pierwotnie próbowano utworzyć
Krok 5: Zainstaluj ponownie Heroku Toolkit
źródło
heroku create
?git heroku create
nie jest rzeczą, o ile wiem.Twój klucz Heroku i klucze github nie są zsynchronizowane.
Określ, którego klucza chcesz użyć (zalecamy utworzenie nowego, np. Heroku_rsa).
Dodaj klucz do github.
Dodaj ten sam klucz do heroku za pomocą:
heroku keys:add
źródło
Napotkałem ten sam problem i oto moja teoria na temat tego, co się dzieje:
Zarejestrowałem się w Heroku dawno temu, przekazując im swój klucz publiczny github. Próbując zwykle
git push heroku master
, szuka mojego klucza prywatnego, znajdującego się pod adresem~/.ssh/github_rsa
. Następnie po cichu kończy się niepowodzeniem z wysłaną wiadomością.Jednak później próbowałem połączyć się
ssh
z innym serwerem, używając-i
flagi, aby określić mój „plik tożsamości” (tj. Klucz prywatny) i poprosił mnie o hasło do mojego klucza prywatnego. Po „odblokowaniu” klucza prywatnegogit push heroku master
polecenie działa. Kilka wniosków:ssh
zapyta o hasło do pliku tożsamości,git
nie.ssh
, pozostanie on odblokowany dogit
użytku.keytool
.źródło
Odmowa dostępu (publickey) podczas wdrażania kodu heroku. fatal: zdalny koniec niespodziewanie się rozłączył
Myślę, że to może mieć twoje rozwiązanie, przynajmniej dla mnie
źródło
W przypadku mnie wydawało się, że problem polegał na tym, że ssh-agent działał w tle, a odpowiedni klucz prywatny nie został do niego dodany.
Musiałem też dodać klucz publiczny do github (ręcznie) i heroku
źródło
Jeśli żadna z pozostałych rozwiązań pracować dla Ciebie, upewnij się, że jesteś zalogowany linux shell z Twojego konta, a nie z głównego konta.
W ten sposób, jeśli pracujesz z użytkownikiem, który nie jest właścicielem twoich kluczy ssh, git będzie szukał niewłaściwych kluczy do uwierzytelnienia
źródło