Próbuję wdrożyć mój kod do heroku za pomocą następującego wiersza polecenia:
git push heroku master
ale pojawia się następujący błąd:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Przesłałem już mój publiczny klucz SSH, ale nadal pojawia się ten błąd.
git
heroku
deployment
public-key
vich
źródło
źródło
heroku login
napisać adres e-mail i hasło i spróbować ponownie.Odpowiedzi:
Musisz wgrać swój klucz publiczny do Heroku:
Jeśli nie masz klucza publicznego, Heroku poprosi Cię o dodanie go automatycznie, który działa bezproblemowo. Po prostu użyj:
Aby wyczyścić wszystkie poprzednie klucze:
Aby wyświetlić wszystkie istniejące klucze:
EDYTOWAĆ:
Wydawało mi się, że powyższe nie działa. Pomieszałem ze
HOME
zmienną środowiskową, więc SSH szukało kluczy w niewłaściwym katalogu.Aby upewnić się, że SSH sprawdza klucz w poprawnym katalogu:
Które wyświetlą następujące (przykładowe) linie
Permission denied (publickey).
Z powyższego można zauważyć, że ssh szuka kluczy w
/c/Wrong/Directory/.ssh
katalogu, w którym nie ma kluczy publicznych, które właśnie dodaliśmy do heroku (za pomocąheroku keys:add ~/.ssh/id_rsa.pub
) ( Należy pamiętać, że w systemie operacyjnym Windows~
odnosi się doHOME
ścieżki, która w winC:\Users\UserName
7/8 jest )Aby wyświetlić bieżący katalog domowy, wykonaj:
echo $HOME
lubecho %HOME%
(Windows)Aby ustawić
HOME
poprawnie katalog (poprawnie rozumiem katalog nadrzędny katalogu.ssh
, aby ssh mógł szukać kluczy w odpowiednim katalogu), skorzystaj z poniższych linków:SO Odpowiedz na to, jak na stałe ustawić zmienną środowiskową Unix
SO Pytanie dotyczące ssh szukającego kluczy w niewłaściwym katalogu i rozwiązania tego samego.
źródło
heroku keys:add
ssh-keygen -t rsa -C "[email protected]"
jeśli nadal występuje błąd, utworzyć kolejny plik.pub i użyć tego w poleconym poleceniu w tej odpowiedziMiałem ten sam problem, poniższe kroki działały dla mnie,
[email protected] i hasło
->ssh-keygen -t rsa -f id_rsa
jeśli poprosisz o jakiekolwiek hasło, nie używaj pustego pola, wypełnij je, ale nie zapomnij.
Po wygenerowaniu klucza musisz go dodać
i to do heroku
zmień katalog na obszar roboczy, niż
użyj hasła, które ustawiłeś powyżej.
Właściwie usuwam również poniższe pliki, ale nie jestem pewien, czy są imp,
C: \ Users \ twoja nazwa użytkownika. Heroku \ credientals i C: \ Users \ twoja nazwa użytkownika.ssh \ znane_hosty
źródło
Github for Windows
, ale brak pliku id_rsa.git bash
wierszu polecenia, aby uruchomić ssh-keygen. dzięki.Ten problem bałaganił mnie przez kilka dni.
To może pomóc.
1) Dowiedz się, jakie masz klucze w Heroku.
2) Zbuduj plik ~ / .ssh / config:
Edytuj za pomocą tych informacji
źródło
User
tą ostatnią linią powinien wystąpić podział linii. Poza tym narzekał na#
komentarz, więc właśnie go usunąłem.host
informacji do mojego pliku konfiguracyjnego rozwiązało problem. Utworzyłem klucz heroku rsa, a domyślne uprawnienia na heroku.pub zgłosiły błąd, gdy próbowałemgit push
. Musiałemchmod 600 heroku.pub
i wtedy, kiedy go popchnąłem, zadziałało.IdentityFile ~/.ssh/ssh-dss
jest ścieżką do klucza prywatnego . Chcesz wprowadzić tutaj swój klucz prywatny , a nie klucz publiczny .Oto link, który wyjaśnia, jak zarządzać kluczami ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
źródło
Miałem ten sam problem, ponieważ nie miałem kluczy publicznych, więc:
To wygeneruje klucz publiczny, a następnie będzie działał dobrze
źródło
Jeśli jesteś użytkownikiem systemu Windows, inne rozwiązania prawdopodobnie nie rozwiążą twojego problemu.
Używam Windows 7 64-Bit + Git-1.7.7.1-Preview20111027, a rozwiązaniem było skopiowanie moich kluczy z
C:\users\user\.ssh
doC:\Program Files (x86)\Git\.ssh
. Właśnie tam ten klient git szuka kluczy podczas wypychania do heroku.Mam nadzieję, że to pomoże.
źródło
%HOME%
zmienną środowiskową na%USERPROFILE%
.To było dla mnie rozwiązanie:
źródło
chmod 600 ~/.ssh/heroku_rsa
Aby podzielić się moim doświadczeniem:
Git (moja własna instalacja) szukał klucza o nazwie „id_rsa”.
Próbowałem więc zmienić nazwę moich kluczy na „id_rsa” i „id_rsa.pub” i zadziałało.
Przy okazji, jestem pewien, że jest na to inny sposób, ale nie zaglądałem jeszcze głębiej.
źródło
Jeśli klucz został już przesłany, spróbuj go usunąć, a następnie prześlij ponownie z nowym kluczem.
to powinno działać.
źródło
Must specify KEY to remove
Zabiłem się przez 3 dni, próbując każdej możliwej kombinacji, aby spróbować to uruchomić - w końcu spróbowałem zrobić klucz DSA i zadziałało.
Wypróbuj DSA zamiast RSA, jeśli to nie działa.
(Używam Ubuntu 11.10, ruby 1.8.7, heroku 2.15.1)
źródło
W systemie Windows 7,64 bit powyższe rozwiązanie (Onur Turhan's) działało dla mnie z niewielkimi zmianami, jak poniżej
Wpisz adres e-mail / hasło
To wygenerowało dwa pliki (id_rsa i id_rsa.pub) w moim katalogu c: \ Users \ MyName (nie w katalogu .ssh)
Wydaje mi się, że dodanie poprawnego pliku „id_rsa.pub” jest najważniejsze. Po wygenerowaniu klucza publicznego za pomocą keygen po prostu sprawdź, czy dodajesz poprawny klucz, patrząc na znacznik czasu, w którym został utworzony.
źródło
Działa jedno polecenie:
Stworzy taki, jeśli nie będzie istniał.
źródło
heroku keys:add
nie jest kompletną odpowiedzią.Miałem ten problem, gdy TortoiseGIT został zainstalowany na moim komputerze. Po zmianie zmiennej środowiskowej
GIT_SSH
zdo
i postępując zgodnie z tym samouczkiem za pomocą
ssh-keygen
ikeys:add
, działa!źródło
Pchanie działało na mnie, a potem nagle się zatrzymało.
Jeśli interfejs heroku API przestaje działać, pojawi się ten błąd przy próbie wypchnięcia.
Czek:
https://status.heroku.com/
zanim wkurzysz się zbyt mocno.
źródło
Sekwencja do naśladowania
Podczas wykonywania drugiej instrukcji poprosi o wprowadzenie danych, wystarczy trzykrotnie nacisnąć Enter (return), a klucz zostanie dodany.
źródło
Powyższa odpowiedź DZIAŁA, ale okazało się, że muszę zrobić kilka dodatkowych kroków, zanim zadziała.
źródło
Dla wszystkich tych, którzy próbowali wszystkiego, co wspomniano powyżej w systemie Windows 7 i nadal nie działało, oto co zrobiłem: - otwórz GitBash.exe z katalogu Git C: \ Program Files (x86) \ Git \ (don ' t otworzyć wiersz polecenia, to nie zadziała). - dodaj poniższe, jak wspomniano powyżej , ale musisz usunąć #
teraz uruchom git push heroku master i powinno działać.
źródło
Wygląda na to, że
~/.ssh/authorized_keys
plik nie jest poprawnie skonfigurowany. Zweryfikuj to:~/.ssh
wynoszą 0700.źródło
Musiałem zrobić:
Potem zadziałało:
źródło
Sprawdź konfigurację .ssh dla heroku. Przejdź do folderu .ssh i otwórz plik konfiguracyjny
„Subl” dotyczy Sublime Text, ale możesz użyć dowolnego edytora. Wyszukaj wiersz „IdentityFile” i upewnij się, że ma na liście klucz niepubliczny:
nie
To mi zrobiło. Nie jestem pewien, dlaczego moja miała publiczną wersję w pliku konfiguracyjnym, ale tak się stało i zgłaszał błąd:
źródło
Po wypróbowaniu wszystkich tych pomysłów wciąż miałem problemy. To był mój problem:
Moje zdalne repozytorium heroku było funkcjonalne. Odświeżiłem go w następujący sposób:
Następnie usuń niepoprawny heroku:
Następnie dodaj nowy
Możesz uzyskać nazwę witryny ze strony ustawień Heroku dla swojej aplikacji. Powodzenia!
źródło
Problem, z którym się spotkałem, dotyczył systemu Windows i niezmiennie za każdym razem, gdy uruchamiam „klucze heroku: dodaj”, wybieram klucze github. Oto kroki, które wykonałem, aby rozwiązać problem
Powyższe polecenie poprosiło mnie o wygenerowanie nowych kluczy, a następującą odpowiedzią było wyjście Nie można znaleźć istniejącego klucza publicznego. Czy chcesz go wygenerować? [Yn] Y Generowanie nowego klucza publicznego SSH. Przesyłanie klucza publicznego SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... gotowe! Klejnot „heroku” został wycofany i zastąpiony paskiem narzędziowym Heroku, pobierz i zainstaluj z https://toolbelt.heroku.com .
Powyższe polecenie nie wyświetli następującego wyniku: Znaleziono istniejący klucz publiczny: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Przesyłanie klucza publicznego SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . gotowy
dla mnie przy użyciu powyższych kroków rozwiązałem problem i udało mi się wdrożyć aplikację w chmurze.
źródło
Miałem ten sam problem; następujące kroki powinny pomóc:
.pub
pliki iknow_host
) w.ssh/ folder
źródło
Permission denied (publickey).
Chciałbym tylko dodać, że katalog niekoniecznie musi być C: \ Users \ [nazwa użytkownika] \. Ssh. Jest to katalog, w którym utworzono klucz publiczny.
Na przykład mój katalog domowy w systemie Windows został zmieniony na C: \ [nazwa użytkownika]. Twój katalog domowy w podfolderze .ssh jest najlepszym i najprawdopodobniej miejscem, w którym możesz utworzyć klucze. Możesz sprawdzić swój katalog domowy w systemie Windows za pomocą polecenia:
źródło
Jeśli chcesz użyć „sudo”, przykład:
powinieneś również wygenerować klucz ssh dla użytkownika root.
i zadziała.
jeśli nie używasz użytkownika root, wygeneruj klucz ssh w swoim katalogu użytkownika.
Przepraszam, jeśli moje zdania zawiodły ...
źródło
Spróbuj naprawić uprawnienia w Narzędziu dyskowym (Mac OS X). Pomogło mi
źródło
Najpierw upewnij się, że ukryte pliki są widoczne na komputerze Mac. Jeśli nie:
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
Następne kroki:
Users/user_name/.ssh/
usunąć wszystkie pliki.ssh-keygen -t dsa
heroku keys:add ~/.ssh/id_dsa.pub
NB Zrobiłem to w systemie Mac OSX 10.7.2 Lion. Chociaż procedura powinna być taka sama w innych.
źródło
Mam również ten problem. Używam Mac OSX. Naprawiłem sposób, w jaki logowałem się jako administrator
źródło
Rozwiązanie dmajkic w końcu mi pomoże:
Dla użytkowników systemu Windows może to oznaczać: klient git nie może znaleźć twoich kluczy. Sprawdź klucze c: \ Users \ UserName.ssh \ i! zmienna środowiskowa HOME = c: \ Users \ UserName \
źródło
Oto, co zadziałało dla mnie. Witryna heroku nie jest dodawana do znanych hostów. Przejdź do okna-inne-pokaż repozytoria view-git-git. Stamtąd sklonuj repozytorium. Po sklonowaniu usuń właśnie utworzone repozytorium, a następnie zaimportuj je z menu plików. Zrób to, ponieważ po sklonowaniu repozytorium nie dodaje go ono do widoku eksploratora. Teraz powinieneś mieć repozytorium git i widok eksploratora.
źródło