Heroku kodunu dağıtırken izin reddedildi (publickey). ölümcül: Uzak uç beklenmedik bir şekilde telefonu kapattı


849

Kodumu heroku'ya aşağıdaki komut satırı ile dağıtmaya çalışıyorum:

git push heroku master

ancak aşağıdaki hatayı alın:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Genel SSH anahtarımı zaten yükledim, ancak yine de bu hatayla geliyor.


sebarmeli'nin çözümü sizin için işe yaradı mı? Ben "id_rsa.pub" adlı bir rsa anahtarı kullanmıyorum ve sadece "heroku anahtarları girdim: ~ / .ssh / <rsa_key_filename> .pub"
Michael Merchant

6
Neredeyse bir yıl önce bu problemi yaşadım ve o zaman önerilen çözüm tam olarak benim için işe yaramadı, ama bir şekilde çözdüm (bu noktada tam olarak ne yaptığımı hatırlamıyorum). Sebarmeli, artık yardıma ihtiyaç duymadığımdan bir süre sonra cevap verdi, ancak cevabı benzer bir sorun yaşayanlar arasında oldukça popüler görünüyor. İnsanları mutlu ederse, cevabını doğru cevap olarak seçeceğim.
vich

3
Aşağıdaki satır benim için sorunu çözdü. heroku hesapları: set youraccount
Mingming

Bazı heroku hizmetleri bugün çalışmıyor gibi görünüyor - bu hata ayıklama yapıyorsanız sitelerinde sorunlar için kontrol ettiğinizden emin olun!
Philip Guin

Aynı sorunu yaşadım, tek yapmam gereken heroku logine-posta ve şifre yazmak ve tekrar denemek.
Alejandro Veintimilla

Yanıtlar:


1474

Genel anahtarınızı Heroku'ya yüklemelisiniz:

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

Ortak bir anahtarınız yoksa, Heroku sizden otomatik olarak sorunsuz çalışan bir anahtar eklemenizi ister. Sadece kullan:

heroku keys:add

Önceki tüm anahtarlarınızı silmek için şunları yapın:

heroku keys:clear

Mevcut tüm anahtarlarınızı görüntülemek için:

heroku keys

DÜZENLE:

Yukarıdakiler benim için işe yaramadı. Ben etrafında haberci HOMEortam değişkeni ve SSH çok yanlış dizinde anahtarları arıyordu.

SSH'nin doğru dizindeki anahtarı denetlediğinden emin olmak için şunları yapın:

ssh -vT git@heroku.com

Aşağıdaki (Sample) satırları

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to heroku.com [50.19.85.156] port 22.
debug1: Connection established.
debug1: identity file /c/Wrong/Directory/.ssh/identity type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_rsa type -1
debug1: identity file /c/Wrong/Directory/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version Twisted
debug1: no match: Twisted
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'heroku.com' is known and matches the RSA host key.
debug1: Found key in /c/Wrong/Directory/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /c/Wrong/Directory/.ssh/identity
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_rsa
debug1: Trying private key: /c/Wrong/Directory/.ssh/id_dsa
debug1: No more authentication methods to try.

Permission denied (publickey).

Yukarıdaki anahtarları için ssh görünüyor gözlemlemek olabilir itibaren /c/Wrong/Directory/.sshbiz sadece Heroku (kullanarak ilave kamu anahtarları nerede olmadığı dizine heroku keys:add ~/.ssh/id_rsa.pub) ( Lütfen not pencerelerde OS olduğunu ~belirtmektedir HOMEkazanmak yolunda 7/8 olduğunuC:\Users\UserName )

Geçerli giriş dizininizi görüntülemek için: echo $HOMEveya echo %HOME%(Windows)

HOMEDizininizi doğru ayarlamak için (doğru olarak .sshdizinin üst dizini kastediyorum , böylece ssh doğru dizindeki anahtarları arayabilir) şu bağlantılara bakın:

  1. SO Unix ortam değişkeninin kalıcı olarak nasıl ayarlanacağına dair cevap

  2. Yani ssh yanlış dizinde anahtar arıyor ve aynı çözüm için bir soru.


31
Benim için çalışmadı. Eski anahtarımı iptal etmek ve ardından heroku uygulamasının benim için yeni bir tane oluşturmasına ve yüklemesine izin vermek zorunda kaldım. Lityum tarafından sağlanan bunun nasıl yapıldığına ilişkin bağlantıya bakın.
borisdiakur

9
insanların işe yaramadığını söyleyen bir not. daha önce yapılmış bir ssh genel anahtarınızın olduğundan emin olmanız gerekir. mac ile yapmayla ilgili daha fazla bilgi için help.github.com/mac-set-up-git .
Ryan

92
açık bir anahtarınız yoksa, heroku sizden otomatik olarak sorunsuz çalışan bir anahtar eklemenizi ister. Sadece kullanın:heroku keys:add
vansan

13
Ayrıca ssh-keygen -t rsa -C "your_email@youremail.com"hala hatayı alıyorsanız, başka bir dosya.pub oluşturmak ve bu yanıtta önerilen komutta kullanmak için deneyin
Tom Roggero

3
Heroku'ya eklemeden önce bir anahtar oluşturmanız / yeniden oluşturmanız gerekebilir. whatibroke.com/?p=284 Windows 7 için benim için çalıştı.
Khalid

146

Aynı sorunu yaşadım, aşağıdaki adımlar benim için çalıştı,

->heroku login

abc@gmail.com ve şifre

->cd C:\Users\yourusername\.ssh    (OR for cygwin shell ->cd ~/.ssh)

->ssh-keygen -t rsa -f id_rsa

herhangi bir paroladan boşluk kullanılmadığını sorarsanız, bir parola ile doldurun, ancak unutmayın.

Anahtarı oluşturduktan sonra eklemeniz gerekir,

$ ssh-add

ve heroku'ya

->heroku keys:add "id_rsa.pub"

dizini çalışma alanına değiştirin,

->git clone git@heroku.com:stark-dawn-1234.git -o heroku

yukarıda ayarladığınız parolayı kullanın.


Aslında aşağıdaki dosyaları da kaldırıyorum, ancak imp olduklarından emin değilim,

C: \ Kullanıcılar \ kullanıcı adınız.heroku \ credientals ve C: \ Kullanıcılar \ kullanıcı adınız.ssh \ bilinen_hosts


21
Bu benim için çözdü. Nedeni, bir 'github_rsa' dosya vardı Github for Windows, ama id_rsa dosya olduğunu düşünüyorum.
msiemens

Openssl yükleyicisiyle çalışmadı. Ssh-keygen.exe programını almak için CopSSH'yi kurmak zorunda kaldım.
djangofan

Windows 7'de git bashssh-keygen'i çalıştırmak için bunu komut isteminde yapmak zorunda kaldım . Teşekkürler.
Rots

Bu benim için çalıştı ve en iyi çözüm gibi görünüyor. Daha iyi soru, bunu neden her geçen gün tekrarlamak zorunda olduğum
Paul Renton

3
Bu benim için çalıştı. Windows'ta Git Bash kullanıyorsanız, Heroku'ya başka bir şey yükleseniz bile, anahtar id_rsa.pub olarak adlandırılmalıdır veya çalışmaz.
Kiv

90

Bu sorun birkaç gündür benimle uğraşıyordu.

Bu yardımcı olabilir.

1) Şimdi Heroku'da hangi anahtarlara sahip olduğunuzu öğrenin.

$ heroku keys
=== 1 key for joe@example.com
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local

2) Bir ~ / .ssh / config dosyası oluşturun:

$ sudo vim ~/.ssh/config

Bu bilgi ile düzenle

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes 
User joe@workstation.local

3
Başka hiçbir şey yapmadıktan sonra bu benim için de işe yaradı! Ancak User, son satırda daha önce bir satır sonu olmalıdır . Ayrıca, #yorum hakkında şikayet , bu yüzden ben sadece kaldırıldı.
Erik J

2
"IdentityFile" dosyasında genel dosya değil (yukarıda olduğu gibi) ortak dosya olduğundan emin olun. Herhangi bir nedenden ötürü benimki genel sürüme sahipti ve dosya izinlerinin yanlış olduğunu söyleyen bir hata atıyordu.
Kevin K

Bu hostbilgiyi yapılandırma dosyama eklemek sorunu benim için çözdü. Bir heroku rsa anahtarı oluşturdum ve heroku.pub'daki varsayılan izinler denediğimde bir hata attı git push. Ben gerekiyordu chmod 600 heroku.pubve ben itti zaman sonra işe yaradı.
Dylan Valade

1
IdentityFile ~/.ssh/ssh-dssözel anahtarın yoludur . Genel anahtarınızı değil, özel anahtarınızı buraya girmek istiyorsunuz .
HairOfTheDog

1
Bu cevap beni zirveye taşıyan şey. Windows 7 64 bit çalıştırıyorum. Ssh-keygen -t rsa -f id_rsa daha sonra herhangi bir heroku anahtarını silip yeni oluşturulmuş olanı ekleyerek yardımcı olan birkaç adım vardır: heroku anahtarları: açık heroku anahtarları: add C: \ Users \ kullanıcı adı \ .ssh \ id_rsa.pub ve ardından yukarıdaki dosyayı IdentityFile C olarak hafifçe değiştirin: /Users/windows_username/.ssh/id_rsa
Paul

61

Ssh anahtarlarınızı nasıl yöneteceğinizi açıklayan bağlantı: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku


2
Heroku benden bir tane eklememi istemedi. Bu yüzden önce ssh-keygen yapmak zorunda kaldım. Bu yardımcı oldu. Teşekkürler!
Kal

Bu benim için çalıştı. Yeni bir anahtar oluşturdum, benim durumumda eskisinin üzerine yazdıktan sonra heroku ile kullanmak için id_rsa.pub'ı seçin. Teşekkürler
jfoutch

35

Ben aynı anahtar vardı çünkü ben hiçbir ortak anahtar vardı, bu yüzden yaptım:

heroku keys:clear
heroku keys:add

Bu bir ortak anahtar oluşturur ve daha sonra iyi çalışır


1
Hâlâ hata alıyorum. farklı şeyler deniyorum, çözüyorum, sonra gelecek hafta aynı problemi yaşıyorum ... Heroku'nun neden böyle olduğunu merak ediyorum.
JGallardo

31

Windows kullanıcısıysanız, buradaki diğer çözümler muhtemelen sorununuzu çözmez.

Windows 7 64-Bit + Git-1.7.7.1-preview20111027 kullanmak ve çözüm benim anahtarları kopyalamak oldu C:\users\user\.sshiçin C:\Program Files (x86)\Git\.ssh. Bu git istemcisi heroku'ya iterken anahtarları arar.

Umarım bu yardımcı olur.


2
Benim için c: \ msysgit \ .ssh oldu. Sadece kişisel klasörümdeki .ssh klasörüne bir dizin bağlantısı oluşturdum.
Colin Bowern

Burada da aynı sorun var, ama neden bilmiyorum. Anahtarları her eklediğimde, Kullanıcı klasörümdeki anahtarları kullanan bu düzeltme ile aynı görünüyordu, ancak çalıştı.
Haris Krajina

12
YAPMAYIN! Bu, HOME boş olduğu için çalışır ve varsayılan olarak geçerli exe dizinine geçer. Birisi Misafir olarak oturum açmayı başarırsa, özel anahtarınızı alabilir. Gelişmiş Kullanıcı Ayarları'ndaki HOME'u% HOME_DRIVE %% HOMEPATH% olarak ayarlayın (veya Win7'de C: \ Kullanıcılar \ <kullanıcı adı>) ve .ssh dizinini buraya kopyalayın.
dmajkic

@Dmajkic'e ek olarak, Win7'de ortam değişkenini ayarlamak için bu Windows İpucu için Git'e bakın . %HOME%%USERPROFILE%
Steve Eynon

29

Benim için çözüm buydu:

ssh-add ~/.ssh/my_heroku_key_rsa

1
Burada aynı. Teşekkür ederim. Ayrıca, özel anahtarınızın kendisiyle ilişkilendirilmiş uygun izinlere sahip olduğundan emin olun. chmod 600 ~/.ssh/heroku_rsa
Arnaud Brousseau

teşekkür ederim - bu da benim sorunumdu ve önce Arnaud'un ipucunu da takip etmem gerekiyordu.
Mike Atlas

15

Deneyimlerimi paylaşmak için:

Git (kendi yüklemem) 'id_rsa' anahtarını arıyordu.

Bu yüzden anahtarlarımı 'id_rsa' ve 'id_rsa.pub' olarak yeniden adlandırmaya çalıştım ve işe yaradı.

Btw, eminim bunu yapmanın başka bir yolu var ama daha derine bakmadım.


3
Benim için çalıştı (Windows 7 64bit). Windows için GitHub yüklü ve GitHub_rsa anahtarlarını adlandırıyor. Git'in hangi anahtarı kullanması gerektiğini belirtmenin bir yolu var mı?
Süngerboy

11

Anahtarı daha önce yüklediyseniz, anahtarı çıkarıp yeni bir anahtarla yeniden yükleyin.

 heroku keys:remove //removes the existing key
 ssh-keygen -t rsa //generates a new key in ~/.ssh folder
 heroku keys:add    //uploads the new key, if no arguments r passed then the key generated                              
                    //in default directroy i.e., ~/.ssh/id_rsa is uploaded
 git push heroku

bu çalışmalı.


Teşekkürler, bu benim için çalıştı. Heroku anahtarları kullansam da: heroku anahtarları yerine temizle: kaldır.
Peter de Ridder

1
Yanlış,Must specify KEY to remove
JGallardo

7

Kendimi 3 gün boyunca bu işe yaramaya çalışmak için mümkün olan her kombinasyonu denedim - sonunda bir DSA anahtarı ve işe yaradı.

Size uygun değilse, RSA yerine DSA'yı deneyin.

(Ubuntu 11.10, ruby ​​1.8.7, heroku 2.15.1 kullanıyorum)


1
Heroku desteğiyle konuştum ve bunu geçici bir çözüm olarak önerdiler. Benim için işe yaradı, ama eminim her durum için cevap değil.
Sos McBoss

3
Bu cevabın neden aşağı oyu hak ettiğinden emin değilim ... Benim için problemi çözdü ve bu sorunun cevabını veriyor.
Sos McBoss

Tersi bir sorunum vardı ... Heroku dev dokümanları bir DSA anahtarı (ssh-
dss) kullanabileceğinizi söylese de

benim için çalıştı. Heroku oluşturduktan sonra ve git push'tan önce anahtarlarınızı değiştirirseniz, dsa ve rsa arasında geçiş yapmak işe yarar.
Pramod

nasıl DSA anahtarı oluşturabilir ve heroku'ya nasıl ekleyebilirim?
coiso

6

Windows 7,64 bitinde yukarıdaki çözüm (Onur Turhan) benim için aşağıdaki gibi küçük değişikliklerle çalıştı

C:\Users\MyName > heroku login

E-posta / şifre girin

C:\Users\MyName >ssh-keygen -t rsa -f id_rsa

Bu, c: \ Users \ MyName dizinimde (.ssh dizininde değil) iki dosya (id_rsa ve id_rsa.pub) oluşturdu.

heroku keys:add id_rsa.pub
git clone git@heroku.com:some-heiku-xxxx.git -o heroku

Doğru "id_rsa.pub" dosyası eklemek en önemlisidir.Kengen kullanarak ortak anahtar oluşturduktan sonra sadece oluşturulduğu zaman damgasını bakarak doğru anahtar eklediğinizden emin olun.


5

Tek bir komut çalışır:

heroku keys:add

Eğer yoksa bir tane yapacak.


Downvote, bu hata bağlamında cevap vermiyor. Mevcut olanları kaldırdım, yeni oluşturdum ve anahtarları ekledim ve hala sorunu alıyorum. öneriniz heroku keys:addtam bir cevap değil.
JGallardo

5

TortoiseGIT makineme kurulduğunda bu sorunla karşılaştım. Ortam değişkeni değiştirdikten sonra GIT_SSHgelen

"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"

için

"c:\Program Files (x86)\Git\bin\ssh.exe"

ve bu öğretici takip ssh-keygenve keys:addişe yarıyor!


hangi öğreticiyi takip ettin?
eckes

Onur Turhan'dan bir tane
zooli

Git IS tarafından sağlanan ssh kullanımı çok iyi bir çözümdür. Gerçekten burada karmaşık bir anlayış plink / yarışmasında / macun alıyordu ...
Stéphane

4

İtmek benim için çalışıyordu ve sonra aniden durdu.

Heroku api arıza süresi yaşıyorsa, itmeye çalıştığınızda bu hatayı alırsınız.

Kontrol:

https://status.heroku.com/

çok zordan korkmadan önce.


3

İzlenecek sıra

$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add

İkinci ifadeyi yürütürken giriş isteyecektir, sadece üç kez Enter (return) tuşuna bastığınızda bir anahtar eklenir.


birçok insan aynı cevaba sahipti. ve belirtildiği gibi çalışmaz.
JGallardo

2

Yukarıda verilen cevap işe yarıyor, ama işe yaramadan önce bazı ekstra adımlar atmam gerektiğini öğrendim.

  1. Tüm id_rsa * dosyalarını kaldırdım ve bunu kullanarak yeni bir SSH oluşturdum kılavuzu .
  2. Sonra, heroku uygulamasını yok ettim. ~ / .Heroku / credentials dosyası kaldırıldı.
  3. 'heroku create' komutu (ve kimlik bilgileri dosyası kaldırıldığından, sizden e-postanızı / şifrenizi girmenizi ister.
  4. FINALLY 'heroku keys: add' yazdığınızda varsayılan ~ / .ssh / id_rsa.pub dosyasını yükleyecektir.
  5. İşe yarıyor! Peki .... YMMV ama umarım bütün gün bunu anlamaya çalışırken bu biraz yardımcı olabilir! haha

2

Yukarıda belirtilen her şeyi Windows 7'de deneyen ve yine de işe yaramayan herkes için yaptım: İşte GitBash.exe'yi Git dizininden açın C: \ Program Files (x86) \ Git \ (don ' t Bir komut istemi açın, bu işe yaramaz). - yukarıda belirtildiği gibi aşağıdakileri ekleyin , ancak #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User joe@workstation.local

Şimdi git itme heroku ustası çalıştırın ve çalışması gerekir.


Bunu da oyla. Dün 6 saat geçirdim ve hiç umursamadığım bilgi gibi hissetmiyorum. Powershell ve komut istemi ile github'a itebilirim, ancak heroku için sadece Git Bash çalışıyor. Şimdi her seferinde işe yarıyor. Ben de git push heroku ustası önce heroku giriş yapıyor rüzgar. Gerekli olmayabilir, ama şimdilik, bunu yapmamı sağlayan batıl inanç. Ne kabus
JMDenver

1

~/.ssh/authorized_keysDosyanız doğru ayarlanmamış gibi görünüyor . Aşağıdakileri doğrulayın:

  • Doğru yolda.
  • Dosyanın izinleri 0600'dür.
  • İzinleri ~/.ssh0700'dür.

Bu aptalca ses çıkarırsa bu konuda oldukça yeniyim, ancak genel SSH anahtar dosyam başka bir bilgi içermeyen bir grup karakter (standart anahtar gen). Git'i bilgisayarıma kurduğumda bu SSH dosyasını aldım. Bunun, heroku kodumu dağıtmak için kullanacağım genel SSH anahtarı olacağını varsayıyordum. Yoksa heroku'nun üretmem gereken kendi genel SSH anahtarı var mı?
vich

1
Evet, genel SSH anahtarınızı birçok farklı ana bilgisayar için yeniden kullanabilirsiniz. Heroku'nun tam olarak nasıl çalıştığından emin değilim, ancak cevabımın bu durumda gerçekten geçerli olmadığını görebiliyorum. Anahtarınızın web arayüzleri tarafından kabul edildiğini doğrulayabilirsiniz. Her şey hala kontrol ediliyorsa destek ekipleriyle iletişim kurmayı deneyin.
cdhowie

Tavsiye için teşekkürler! Heroku desteğiyle iletişime geçtim. Cevabım olduğunda güncelleyeceğim.
vich

Tamam. Sorunun da ne olduğunu duymak istiyorum. :)
cdhowie

1
Yani, sorun genel SSH anahtar dosyasının isimlendirilmesiydi. Dosyayı ilk oluşturduğumda, adı değiştirdim, git git düzgün bağlanmadığı için dağıtımda sorunlara neden oldu ve böylece heroku dağıtımını da başarısız oldu. Sorunu çözmek için, yeni bir genel SSH anahtarı oluşturdum ve tekrar denemeden önce bunu github'a ekledim. Şimdi bağlanıyor! Yardımın için teşekkürler!
vich

1

Yapmak zorundaydım:

$ ssh-keygen -t rsa  
$ heroku keys:add  

Sonra işe yaradı:

$ git push heroku master  

1

Heroku için .ssh yapılandırmanızı kontrol edin. .Ssh klasörüne gidin ve yapılandırma dosyasını açın

cd ~/.ssh
subl config

'Subl' Sublime Text içindir, ancak istediğiniz düzenleyiciyi kullanabilirsiniz. "IdentityFile" satırını arayın ve genel olmayan anahtarın listelenmiş olduğundan emin olun:

IdentityFile "/Users/ircmullaney/.ssh/my_ssh"

değil

IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"

Bunu benim için yaptı. Neden benim yapılandırma dosyasında genel sürümü vardı emin değilim, ama yaptı ve hatayı atıyordu:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.

1

Tüm bu fikirleri denedikten sonra hala sorun yaşıyordum. Bu benim sorunumdu:

Uzak heroku deposum çok etkilendi. Aşağıdaki gibi yeniledim:

git remote -v

Sonra yanlış olan heroku'yu kaldırın:

git remote rm heroku

Sonra yenisini ekleyin

git remote add heroku git@heroku.com:sitename.git

Sitename'i uygulamanızın Heroku ayarları sayfasından alabilirsiniz. İyi şanslar!


1

Karşılaştığım sorun Windows'taydı ve "heroku key: add" komutunu her çalıştırdığımda github anahtarlarını seçti. İşte sorunu çözmek için izlediğim adımlar

  1. "Belge ve Ayarlar" klasörü altındaki .ssh dizinine gitti ve git hub anahtarlarını sildi
  2. heroku anahtarları komutunu çalıştırın: add

Yukarıdaki komut benden yeni bir anahtar oluşturmamı istedi ve aşağıdaki çıktı mevcut bir ortak anahtar bulunamadı. Bir tane oluşturmak ister misiniz? [Yn] Y Yeni SSH ortak anahtarı oluşturuluyor. SSH genel anahtarı C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... tamamlandı! 'Heroku' mücevher kullanımdan kaldırıldı ve Heroku Toolbelt ile değiştirildi, https://toolbelt.heroku.com adresinden indirip yükleyin .

  1. heroku anahtarları komutunu yeniden çalıştırın: ekle

Yukarıdaki komut aşağıdaki çıktıyı vermeyecektir Mevcut ortak anahtar bulundu: C: / Documents and Settings / Admin / .ssh / id_rsa.pub SSH genel anahtarını yükleme C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. tamamlandı

  1. Şimdi git push heroku ustasını kullan

benim için yukarıdaki adımları kullanmak sorunu çözdü ve uygulamayı buluta dağıtabildi.


1

Aynı sorunu yaşıyordum; bu adımları takip etmek yardımcı olacaktır:

  1. İlk olarak, giriş yapın: heroku giriş
  2. Tüm tuşları temizle: heroku tuşları: temizle
  3. Yerel klasördeki tüm dosyaları silme (tüm .pubdosyalar veknow_host ).ssh/ folder
  4. Tekrar giriş yapın: heroku login - u anahtarsız olarak sorar, bu yüzden ekrandaki talimatları izleyin.

Sorunu çözmek için çalışmıyor. Giriş yaptım, anahtarları başarıyla ekledim ve hala alıyorumPermission denied (publickey).
JGallardo

Neden .ssh klasöründeki tüm dosyaları silmemiz gerekiyor?
Starx

0

Ben sadece dizinin mutlaka C: \ Users \ [kullanıcı adı] \. Ssh olmadığını eklemek istiyorum. Genel anahtarınızı oluşturduğunuz dizindir.

Örneğin, Windows'daki ana dizinim C: \ [kullanıcı adı] olarak değiştirildi. Bir .ssh alt klasöründeki ana dizininiz, anahtarlarınızı oluşturmuş olabileceğiniz en iyi ve en olası yerdir. Windows'ta giriş dizininizi şu komutla kontrol edebilirsiniz:

    echo %HOMEPATH%

0

"Sudo" kullanmak istiyorsanız, örnek:

sudo git clone git@heroku.com......... -o heroku

ayrıca kök kullanıcınız için ssh anahtarı oluşturmanız gerekir.

sudo su
cd /root/.ssh  
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub

ve işe yarayacak.

root kullanıcısı kullanmıyorsanız, kullanıcı dizininizde ssh anahtarı oluşturun.

cd /home/user/.ssh

Cümlelerim bozulursa özür dilerim ...


0

Disk İzlencesi'ndeki (Mac OS X) izinleri onarmayı deneyin. Bana yardımcı oldu


0

İlk önce Mac'inizde gizli dosyaların görünür olduğundan emin olun. Değilse:

  • Terminali açın ve yazın defaults write com.apple.Finder AppleShowAllFiles TRUE
  • killall Finder

Sonraki adımlar:

  • Gidiyor Users/user_name/.ssh/ kaldırıldı tüm dosyaları.
  • Terminal tipini açma ssh-keygen -t dsa
  • Sonra heroku keys:add ~/.ssh/id_dsa.pub

Not: Mac OSX 10.7.2 Lion'da yaptım. Ancak prosedür diğerlerinde de aynı olmalıdır.


0

Bende bu sorun var. Mac OSX kullanıyorum. Düzelttiğim gibi yönetici olarak giriş yapmak

sudo su

parola


0

Dmajkic'in çözümü sonunda bana yardım et:

Windows kullanıcıları için şu anlama gelebilir: git client coud anahtarlarınızı bulamıyor. C: \ Users \ KullanıcıAdı.ssh \ ve! ortam değişkeni HOME = c: \ Kullanıcılar \ KullanıcıAdı \


0

İşte benim için işe yarayan. Heroku sitesi bilinen ev sahiplerinize eklenmiyor. Window-other- show view-git-git depolarına gidin. Oradan depoyu klonlayın. Klonladıktan sonra, yeni oluşturulan havuzu silin ve ardından dosya menüsünden içe aktarın. Depoyu klonladığınızda, bunu explorer görünümüne eklemediğinden bunu yapın. Şimdi git deposuna ve explorer görünümüne sahip olmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.