Nie można wcisnąć do Heroku, ponieważ odcisk klucza

Jestem nowy w Rails i próbowałem wdrożyć bardzo prostą aplikację do Heroku. Jest to druga aplikacja, którą wdrażam, i pierwsza, którą udało mi się zrobić to dobrze. Mam jednak pewne problemy z tym. Ilekroć " git push heroku master ", dostaję ten błąd:

! Twój klucz z odciskiem palca xx:xx:xx:xx:xx:xx: xx:xx:xx:xx:xx:xx: xx: xx: xx: xx: xx: xx: xx: xx nie jest upoważniony do > dostępu do my_heroku_app.

Fatal: the remote end hung up nieoczekiwanie

Próbowałem zarządzać moimi kluczami po zalogowaniu się do heroku. Jeśli w konsoli wpiszę "heroku keys ", to otrzymuję:

Brak kluczy do myemailaddress.

Jeśli jednak uruchamiam komand "heroku keys: add " otrzymuję

Znaleziono istniejący klucz publiczny: / Users / michele/.ssh / id_rsa.pub Wgrywanie klucza publicznego SSH / Users / michele/.ssh / id_rsa.pub ! Odcisk palca już istnieje. Proszę użyć jednego klucza ssh na Heroku konto

Proszę pomóż mi! To jest soo frustrating, nie mam pojęcia, co jest nie tak! Dziękuję

Author: Community, 2012-01-09

10 answers

Miałem ten sam problem, śledziłem ten post i inne tego samego typu bez powodzenia : - (((

W końcu znalazłem rozwiązanie: Musiałem dodać nową tożsamość rsa do mojej maszyny!

Więc przede wszystkim stworzyłem nowy klucz rsa:

ssh-keygen -t rsa -C "giordano.scalzo[at]gmail.com" -f  ~/.ssh/id_rsa_heroku

Potem dodałem go do mojej Maszyny

ssh-add ~/.ssh/id_rsa_heroku

I wreszcie do Heroku

heroku keys:add ~/.ssh/id_rsa_heroku.pub

Potem,

git push heroku master
Zadziałało jak czar! Mam nadzieję, że to pomoże.
 286
Author: Giordano Scalzo,
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-01 12:04:09

Ja też mam wiele kluczy i wiele kont heroku, więc co kilka miesięcy spotykam się z tym problemem. Jak wspomnieli Giordano Scalzo, Tom Carchrae i user664833, głównym problemem jest ssh-agent, którym sterujesz za pomocą polecenia ssh-add. Strona podręcznika (man ssh-add) jest dość przejrzysta i zwięzła, więc sprawdź to.

Możesz wymienić wszystkie klucze, o których ssh-agent wie:

ssh-add -l

Możesz usunąć wszystkie klucze, o których ssh-agent wie:

ssh-add -D

Lub usunąć specyficzny klucz z

ssh-add -d ~/.ssh/id_rsa_example_key_file_use_your_own
Nie martw się! W rzeczywistości nie usuwasz kluczy, tylko zmieniasz, których ssh-agent automatycznie próbuje użyć, na przykład, gdy próbujesz wcisnąć do heroku. Łatwo jest dodawać i usuwać klucze w razie potrzeby, więc dla mnie, gdy denerwuje mnie ten problem, najprostszym sposobem naprawienia tego problemu jest usunięcie wszystkich kluczy i dodanie z powrotem tylko tego, którego chcę użyć w tej chwili.
ssh-add -D
ssh-add ~/.ssh/id_rsa_example_use_this_one_i_mean_it
 61
Author: towynlin,
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
2012-08-17 21:48:25

Twój komputer ma klucz SSH, ale ten klucz SSH jest powiązany z innym kontem Heroku.

Jeśli chcesz używać obu kont dla różnych aplikacji na tym samym komputerze, powinieneś utworzyć nowy klucz SSH na swoim komputerze i przesłać go do Heroku:

$ ssh-keygen

Upewnij się, że zapisałeś go jako ' / Users / User/.SSH / new_id_rsa.pub', gdy zapyta Cię monit.

$ heroku keys:add /Users/User/.ssh/new_id_rsa.pub 

Następnie musisz dodać alternatywny host dla heroku.com do swojego ~/.ssh/config:

Host heroku-alt
HostName heroku.com
IdentityFile ~/.ssh/new_id_rsa

A następnie zaktualizuj .git/config w projekcie użyj aliasu hosta:

[remote "heroku"]
  url = git@heroku-alt:myapp.git
  fetch = +refs/heads/*:refs/remotes/heroku/*

Wybierając pomiędzy heroku a heroku-alt w zdalnym pliku .git/config konkretnych projektów możesz zarządzać, które projekty używają jakich poświadczeń.

 38
Author: Daniel X Moore,
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
2012-11-22 19:28:13

Oto bardzo jasne wyjaśnienie, którego brakuje w dokumentacji Heroku lub innych odpowiedzi na pytanie. Przynajmniej wszystkie informacje nie pojawiają się w jednym miejscu. Pozwala również zrozumieć problem w sposób, w jaki narzędzie konta nie.

Heroku identyfikuje cię na dwa sposoby:

Pierwszy jest w środku .git / config

[heroku]
    account = acccount_name

Wydaje się, że pozwala to wykonywać podstawowe operacje za pomocą heroku

Drugi sposób, w jaki heroku Cię identyfikuje, to każda operacja, która używa ssh (git push). Heroku zidentyfikuje cię po twoim kluczu ssh, jak podano tutaj: https://devcenter.heroku.com/articles/keys

Ta klawiatura jest używana do silnej kryptografii i to wyjątkowo identyfikuje cię jako programistę podczas wprowadzania zmian w kodzie.

Więc każde konto heroku, na którym pracujesz, będzie musiało wysłać inny klucz do heroku podczas korzystania z ssh. Wykonaj dowolny samouczek, aby utworzyć klucze ssh.

Kluczem jest zmuszenie SSH do używania różnych Klucze do każdego konta Heroku. Jak to skonfigurować? Musisz zrobić 2 rzeczy:

1) musisz zrobić "atrapę" domeny, że Twój .ssh / config przechwyci i zmieni konfigurację. To powie ssh "rzeczywistą" domenę, którą chcesz i który specjalny klucz ssh użyć.

Host heroku.my_unique_key
  HostName heroku.com
  IdentityFile ~/.ssh/identity.heroku.my_unique_key
  IdentitiesOnly yes

2) Zmień swoje .git / config aby użyć tego podczas używania git push. Zamiast heroku.com, użyj atrapy domeny, którą ustawiłeś w swoim .ssh / config

[remote "heroku"]
    url = [email protected]


[remote "heroku"]
    url = [email protected]_unique_key:myapp.git

To jest to :) trochę skomplikowane i trochę proste w w tym samym czasie. Zajęło mi 3 lata walenia głową o ścianę i prób i błędów, aby odkryć te informacje. To powinno być gdzieś wyraźnie udokumentowane, ale przynajmniej to jakiś początek.

 14
Author: pixelearth,
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
2013-02-15 18:39:31

Będziesz musiał utworzyć nowe klucze i dodać je

Podaj nową nazwę pliku po uruchomieniu

ssh-keygen

Then (in my case)

heroku keys:add /home/alex/.ssh/alex_heroku_rsa.pub
 9
Author: alemur,
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
2012-01-10 12:13:44

Mam ten sam problem w zeszłym tygodniu. Ten link mi pomógł. Mam nadzieję, że to ci trochę pomoże. http://devcenter.heroku.com/articles/keys

 3
Author: Benjamin,
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
2012-01-09 09:58:55

W moim przypadku heroku keys miał już podany poprawny klucz. Więc wszystko, co musiałem zrobić, to uruchomić ssh-add /path/to/that/key i wtedy wszystko zaczęło działać dobrze.

 3
Author: M. Scott Ford,
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
2012-08-29 13:36:31

Mam również dwa konta Heorku i jako obejście "zaprosiłem" moje konto główne (to, którego klucz jest używany automatycznie przez Heroku) jako współpracownik mojego projektu.

 2
Author: Fabio CR,
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
2013-07-17 17:55:54

Po prostu chcę dodać rozwiązanie dla użytkowników Windows.

  1. Pierwszy Pobierz "Putty Key generator"

  2. Utwórz klucz z nim OBS musisz przesunąć mysz ower pusty obszar, aby wygenerować losowość.

  3. Zapisz swoje klucze, po prostu pamiętaj, aby zmienić nazwę klucza na [nazwa].pub

  4. Uruchom heroku keys:add w terminalu!

 1
Author: Rails beginner,
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
2013-04-02 13:19:49

W moim przypadku problemem była wersja ssh, której używałem. Po prostu ustawiłem zmienną środowiskową GIT_SSH na inną ("GIT_SSH= / usr/bin / SSH") i wszystko działało OK.

 0
Author: gfhuertac,
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
2013-09-08 22:33:58