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ę
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.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
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ń.
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.
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
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
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.
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.
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.
Pierwszy Pobierz "Putty Key generator"
Utwórz klucz z nim OBS musisz przesunąć mysz ower pusty obszar, aby wygenerować losowość.
-
Zapisz swoje klucze, po prostu pamiętaj, aby zmienić nazwę klucza na [nazwa].pub
Uruchom
heroku keys:add
w terminalu!
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.
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