Izin ditolak (publickey) saat menggunakan kode heroku. fatal: Ujung yang jauh menutup secara tak terduga

849

Saya mencoba untuk menyebarkan kode saya ke heroku dengan baris perintah berikut:

git push heroku master

tetapi dapatkan kesalahan berikut:

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

Saya sudah mengunggah kunci SSH publik saya, tetapi masih muncul dengan kesalahan ini.

vich
sumber
apakah solusi sebarmeli bekerja untuk Anda? Saya tidak menggunakan kunci rsa bernama "id_rsa.pub" dan baru saja memasukkan "kunci heroku: tambahkan ~ / .ssh / <rsa_key_filename> .pub"
Michael Merchant
6
Saya memiliki masalah ini hampir setahun yang lalu dan solusi yang diusulkan pada saat itu tidak bekerja untuk saya, tetapi saya menemukan jawabannya (pada titik ini saya tidak ingat apa yang saya lakukan dengan tepat). Sebarmeli menjawab beberapa saat setelah saya tidak lagi membutuhkan bantuan, meskipun sepertinya jawabannya cukup populer di antara mereka yang mengalami masalah serupa. Jika itu membuat orang senang, saya akan memilih jawabannya sebagai jawaban yang benar.
vich
3
Baris berikut memecahkan masalah bagi saya. akun heroku: atur akun Anda
Mingming
Sepertinya beberapa layanan heroku turun hari ini - pastikan untuk memeriksa situs mereka jika ada masalah jika Anda men-debug ini!
Philip Guin
Saya memiliki masalah yang sama, yang perlu saya lakukan hanyalah heroku loginmenulis email dan kata sandi dan coba lagi.
Alejandro Veintimilla

Jawaban:

1474

Anda harus mengunggah kunci publik ke Heroku:

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

Jika Anda tidak memiliki kunci publik, Heroku akan meminta Anda untuk menambahkan satu secara otomatis yang berfungsi dengan mulus. Cukup gunakan:

heroku keys:add

Untuk menghapus semua kunci Anda sebelumnya lakukan:

heroku keys:clear

Untuk menampilkan semua kunci yang ada lakukan:

heroku keys

EDIT:

Tampaknya hal di atas tidak berhasil untuk saya. Saya telah mengacaukan dengan HOMEvariabel lingkungan dan SSH sedang mencari kunci di direktori yang salah.

Untuk memastikan bahwa SSH memeriksa kunci di direktori yang benar, lakukan:

ssh -vT [email protected]

Yang akan menampilkan baris (Sampel) berikut

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).

Dari di atas, Anda dapat mengamati bahwa ssh mencari kunci di /c/Wrong/Directory/.sshdirektori yang bukan tempat kami memiliki kunci publik yang baru saja kami tambahkan ke heroku (menggunakan heroku keys:add ~/.ssh/id_rsa.pub) ( Harap dicatat bahwa di windows OS ~merujuk ke HOMEjalur yang di winC:\Users\UserName 7/8 ) adalah )

Untuk melihat direktori home Anda saat ini, lakukan: echo $HOMEatau echo %HOME%(Windows)

Untuk mengatur HOMEdirektori Anda dengan benar (maksud saya dengan benar direktori induk .sshdirektori, sehingga ssh dapat mencari kunci di direktori yang benar) merujuk tautan ini:

  1. SO Jawab tentang cara mengatur variabel lingkungan Unix secara permanen

  2. SO Pertanyaan mengenai ssh mencari kunci di direktori yang salah dan solusi untuk hal yang sama.

Raghav RV
sumber
31
Tidak bekerja untuk saya. Saya harus mencabut kunci lama saya dan kemudian membiarkan aplikasi heroku menghasilkan dan mengunggah yang baru untuk saya. Lihat tautan tentang cara melakukan ini yang disediakan oleh Lithium.
borisdiakur
9
hanya sebuah catatan untuk orang-orang yang mengatakan itu tidak berhasil. Anda perlu memastikan Anda memiliki kunci publik ssh yang sudah dibuat. help.github.com/mac-set-up-git untuk info lebih lanjut tentang melakukannya dengan mac.
Ryan
92
jika Anda tidak memiliki kunci publik, heroku akan meminta Anda untuk menambahkan satu secara otomatis yang berfungsi dengan mulus. Cukup gunakan:heroku keys:add
vansan
13
Coba juga ssh-keygen -t rsa -C "[email protected]"jika masih memiliki kesalahan, untuk membuat file.pub lain dan gunakan yang dalam perintah yang direkomendasikan dalam jawaban ini
Tom Roggero
3
Anda mungkin harus membuat / membuat ulang kunci sebelum menambahkan ke heroku. whatibroke.com/?p=284 telah bekerja untuk saya untuk Windows 7.
Khalid Saifullah
146

Saya memiliki masalah yang sama, langkah-langkah di bawah ini berhasil untuk saya,

->heroku login

[email protected] & kata sandi

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

->ssh-keygen -t rsa -f id_rsa

jika ditanya frasa sandi apa pun jangan gunakan kosong, isi dengan frasa sandi, tetapi jangan lupakan saja.

Setelah membuat kunci, Anda perlu menambahkannya, seperti itu

$ ssh-add

dan itu untuk heroku

->heroku keys:add "id_rsa.pub"

ubah direktori ke ruang kerja, dari

->git clone [email protected]:stark-dawn-1234.git -o heroku

gunakan frasa sandi yang Anda tetapkan di atas.


Sebenarnya saya juga menghapus file di bawah ini, tetapi tidak yakin apakah itu imp,

C: \ Users \ yourusername.heroku \ credientals dan C: \ Users \ yourusername.ssh \ known_hosts

Onur Turhan
sumber
21
Ini menyelesaikannya untuk saya. Saya pikir alasannya adalah, saya punya file 'github_rsa' Github for Windows, tetapi tidak ada file id_rsa.
msiemens
Tidak berfungsi dengan pemasang openssl. Saya harus menginstal CopSSH untuk mendapatkan program ssh-keygen.exe.
djangofan
Pada Windows 7, saya harus melakukan ini pada git bashcommand prompt untuk menjalankan ssh-keygen. Terima kasih.
Rots
Ini bekerja untuk saya dan tampaknya menjadi solusi terbaik. Pertanyaan yang lebih baik adalah mengapa saya harus mengulanginya setiap hari
Paul Renton
3
Ini berhasil untuk saya. Jika Anda menggunakan Git Bash di Windows, kuncinya HARUS dinamai id_rsa.pub atau itu tidak akan berfungsi, bahkan jika Anda mengunggah sesuatu yang lain ke Heroku.
Kiv
90

Masalah ini mengacaukan saya selama beberapa hari.

Ini mungkin bisa membantu.

1) Cari tahu kunci apa yang Anda miliki di Heroku sekarang.

$ heroku keys
=== 1 key for [email protected]
ssh-dss AAAAB8NzaC...DVj3R4Ww== [email protected]

2) Bangun file ~ / .ssh / config:

$ sudo vim ~/.ssh/config

Edit dengan info ini

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes 
User [email protected]
jkpham
sumber
3
Ini juga bekerja untuk saya, setelah tidak ada yang berhasil! Namun harus ada jeda baris sebelum Userdi baris terakhir itu. Juga, itu mengeluh tentang #komentar, jadi saya baru saja menghapusnya.
Erik J
2
Pastikan bahwa "IdentityFile" memiliki file non publik (seperti di atas), bukan file publik. Untuk beberapa alasan, saya memiliki versi publik dan itu membuat kesalahan mengatakan izin untuk file tersebut tidak benar.
Kevin K
Menambahkan hostinfo ini ke file konfigurasi saya memecahkan masalah bagi saya. Saya membuat kunci heroku rsa dan izin default di heroku.pub membuat kesalahan ketika saya mencoba git push. Saya harus chmod 600 heroku.pubdan kemudian ketika saya mendorongnya berhasil.
Dylan Valade
1
IdentityFile ~/.ssh/ssh-dssadalah jalur menuju kunci privat . Anda ingin memasukkan kunci pribadi Anda di sini, bukan kunci publik Anda .
HairOfTheDog
1
Jawaban inilah yang menempatkan saya di atas. Saya menjalankan windows 7 64 bit. Ada sejumlah langkah lain yang membantu seperti: ssh-keygen -t rsa -f id_rsa kemudian menghapus kunci heroku dan menambahkan yang baru saja dibuat: kunci heroku: hapus kunci heroku: tambahkan C: \ Users \ username \ .ssh \ id_rsa.pub dan kemudian sedikit memodifikasi file di atas ke IdentityFile C: /Users/windows_username/.ssh/id_rsa
Paul
61

Berikut ini tautan yang menjelaskan cara mengelola kunci ssh Anda: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku

Lithium
sumber
2
Heroku tidak pernah meminta saya untuk menambahkan satu. Jadi saya harus melakukan ssh-keygen terlebih dahulu. Ini membantu. Terima kasih!
Kal
Yang ini berhasil untuk saya. Menghasilkan kunci baru, dalam kasus saya menimpa yang lama, lalu pilih id_rsa.pub untuk digunakan dengan heroku. Terima kasih
jfoutch
35

Saya memiliki masalah yang sama karena saya tidak punya kunci publik, jadi saya lakukan:

heroku keys:clear
heroku keys:add

Itu akan menghasilkan kunci publik dan kemudian berfungsi dengan baik

Stefan Manastirliu
sumber
1
Masih mendapatkan kesalahan. Saya mencoba hal yang berbeda, menyelesaikannya, lalu mendapatkan masalah yang sama minggu depan ... Saya ingin tahu mengapa Heroku seperti ini.
JGallardo
31

Jika Anda adalah pengguna windows solusi lain di sini mungkin tidak akan menyelesaikan masalah Anda.

Saya menggunakan Windows 7 64-Bit + Git-1.7.7.1-preview20111027 dan solusinya adalah menyalin kunci saya dari C:\users\user\.sshke C:\Program Files (x86)\Git\.ssh. Di situlah klien git ini mencari kunci ketika mendorong ke heroku.

Saya harap ini membantu.

Leo
sumber
2
Bagi saya itu adalah c: \ msysgit \ .ssh. Saya baru saja membuat persimpangan direktori ke folder .ssh di folder pribadi saya.
Colin Bowern
Masalah yang sama di sini, tetapi mengapa saya tidak tahu. Setiap kali saya menambahkan kunci yang ditampilkan itu menggunakan kunci dari folder Pengguna saya, sama dengan perbaikan ini tetapi berhasil.
Haris Krajina
12
JANGAN LAKUKAN ITU! Ini berfungsi karena HOME kosong, dan default ke dir exe saat ini. Jika seseorang berhasil masuk sebagai Tamu, dia bisa mendapatkan kunci pribadi Anda. Set HOME di Pengaturan Pengguna Lanjut ke% HOME_DRIVE %% HOMEPATH%, (atau C: \ Users \ <username> pada Win7) dan salin .ssh dir di sana.
dmajkic
Lebih jauh ke @dmajkic, di Win7 lihat Git untuk Windows Tip ini untuk mengatur %HOME%variabel lingkungan %USERPROFILE%.
Steve Eynon
29

Ini solusi bagi saya:

ssh-add ~/.ssh/my_heroku_key_rsa
Gabor
sumber
1
Sama disini. Terima kasih. Juga, pastikan kunci pribadi Anda memiliki izin yang sesuai untuk itu. chmod 600 ~/.ssh/heroku_rsa
Arnaud Brousseau
terima kasih - ini adalah masalah saya juga, dan saya perlu mengikuti tip Arnaud juga terlebih dahulu.
Mike Atlas
15

Untuk berbagi pengalaman saya:

Git (instal saya sendiri) sedang mencari kunci bernama 'id_rsa'.

Jadi saya mencoba mengubah nama kunci saya menjadi 'id_rsa' dan 'id_rsa.pub' dan berhasil.

Btw, saya yakin ada cara lain untuk melakukannya tetapi saya belum melihat lebih dalam lagi.

Maxence
sumber
3
Bekerja untuk saya (Windows 7 64bit). Saya telah menginstal GitHub untuk Windows, dan memberi nama kunci GitHub_rsa. Apakah ada cara untuk menentukan kunci yang harus digunakan Git?
Spongeboy
11

Jika Anda telah mengunggah kunci maka cobalah untuk menghapus kunci dan kemudian unggah kembali dengan kunci baru.

 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

ini seharusnya bekerja.

Srinivas Kattimani
sumber
Terima kasih, ini berhasil untuk saya. Meskipun saya menggunakan kunci heroku: hapus bukan kunci heroku: hapus.
Peter de Ridder
1
Salah,Must specify KEY to remove
JGallardo
7

Saya bunuh diri selama 3 hari, mencoba setiap kombinasi yang memungkinkan untuk membuatnya bekerja - saya akhirnya mencoba membuat kunci DSA dan ternyata berhasil.

Coba DSA alih-alih RSA jika tidak bekerja untuk Anda.

(Saya menggunakan Ubuntu 11.10, ruby ​​1.8.7, heroku 2.15.1)

Saus McBoss
sumber
1
Saya berbicara dengan dukungan Heroku, dan mereka menyarankan ini sebagai solusi sementara. Itu bekerja untuk saya, tapi saya yakin itu bukan jawaban untuk setiap kasus.
Sauce McBoss
3
Tidak yakin mengapa jawaban ini layak mendapat suara turun ... Itu memecahkan masalah bagi saya, dan itu menyarankan jawaban untuk masalah tersebut.
Sauce McBoss
Saya memiliki masalah yang berlawanan ... meskipun dokumen dev Heroku mengatakan Anda dapat menggunakan kunci DSA (ssh-dss), saya terus mendapatkan pesan 'Izin ditolak' sampai saya beralih ke kunci RSA
brandonjp
bekerja untukku. Beralih antara dsa dan rsa tampaknya bekerja jika Anda mengubah kunci Anda setelah heroku membuat dan sebelum git push.
Pramod
dan bagaimana cara membuat kunci DSA dan menambahkannya ke heroku?
coiso
6

Pada Windows 7,64 bit, solusi di atas (Onur Turhan) bekerja untuk saya dengan sedikit perubahan seperti di bawah ini

C:\Users\MyName > heroku login

Masukkan email / kata sandi

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

Ini menghasilkan dua file (id_rsa dan id_rsa.pub) di direktori c: \ Users \ MyName (Tidak di direktori .ssh)

heroku keys:add id_rsa.pub
git clone [email protected]:some-heiku-xxxx.git -o heroku

Saya kira menambahkan file "id_rsa.pub" yang benar adalah yang paling penting. Setelah membuat kunci publik menggunakan keygen, cukup verifikasi bahwa Anda menambahkan kunci yang benar dengan melihat cap waktu ketika itu dibuat.

Hrushikesh
sumber
5

Satu perintah tunggal berfungsi:

heroku keys:add

Itu akan membuat satu jika tidak ada.

Travis Reeder
sumber
Downvote, ini tidak menjawab sesuai dengan kesalahan. Saya menghapus yang sudah ada, membuat yang baru, dan menambahkan kunci dan masih mendapatkan masalah. saran Anda heroku keys:addbukanlah jawaban yang lengkap.
JGallardo
5

Saya punya masalah ini ketika TortoiseGIT diinstal pada mesin saya. Setelah mengubah variabel lingkungan GIT_SSHdari

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

untuk

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

dan mengikuti tutorial ini dengan ssh-keygendan keys:add, berfungsi!

zooli
sumber
tutorial mana yang Anda ikuti?
eckes
yang ada di sini dari Onur Turhan
zooli
Menggunakan ssh yang disediakan oleh Git IS solusi yang sangat baik. Itu benar-benar semakin rumit pemahaman plink / pageant / dempul di sini ...
Stéphane
4

Mendorong bekerja untuk saya dan kemudian berhenti tiba-tiba.

Jika heroku api mengalami downtime, Anda akan mendapatkan kesalahan ini ketika Anda mencoba untuk mendorong.

Memeriksa:

https://status.heroku.com/

sebelum panik terlalu keras.

Tronathan
sumber
3

Urutan untuk diikuti

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

Saat menjalankan pernyataan kedua, ia akan meminta input, cukup tekan Enter (kembali) tiga kali dan sebuah kunci akan ditambahkan.

Saurabh Rana
sumber
banyak orang memiliki jawaban yang persis sama. dan tidak berfungsi seperti yang dinyatakan.
JGallardo
2

Jawaban yang diberikan di atas TIDAK berfungsi, tetapi ternyata saya perlu melakukan beberapa langkah tambahan sebelum berhasil.

  1. Saya menghapus semua file id_rsa * dan membuat SSH baru menggunakan panduan ini .
  2. Kemudian, saya menghancurkan aplikasi heroku. Menghapus file ~ / .heroku / kredensial.
  3. Perintah 'heroku create' (dan karena file kredensial dihapus, itu akan meminta Anda untuk email / kata sandi Anda.
  4. AKHIRNYA ketik 'kunci heroku: tambahkan' dan itu akan mengunggah file ~ / .ssh / id_rsa.pub default.
  5. Berhasil! Ya .... YMMV tapi saya benar-benar berharap ini bisa membantu karena saya berjuang sepanjang hari untuk mencari tahu! Ha ha
KoalaD
sumber
2

Untuk semua yang mencoba semua yang disebutkan di atas pada Windows 7 dan tetap tidak berhasil, berikut ini yang telah saya lakukan: - buka GitBash.exe dari direktori Git C: \ Program Files (x86) \ Git \ (don ' t buka prompt perintah, ini tidak akan berhasil). - tambahkan berikut ini seperti yang disebutkan di atas , tetapi Anda harus menghapus #

Host heroku.com
Hostname heroku.com 
Port 22 
IdentitiesOnly yes 
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes 
User [email protected]

sekarang jalankan git push heroku master dan itu seharusnya bekerja.

Aymen Mouelhi
sumber
Upvoting ini juga. Menghabiskan 6 jam dengan kemarin dan tidak merasa seperti ini adalah pengetahuan yang saya pedulikan sama sekali. Saya dapat mendorong ke github melalui powershell dan command prompt, tetapi hanya Git Bash yang bekerja untuk saya untuk heroku. Sekarang ini berfungsi setiap saat. Saya juga akhirnya melakukan login heroku sebelum git push heroku master. Mungkin tidak perlu, tetapi untuk saat ini, takhayul itulah yang membuat saya tetap melakukannya. Mimpi buruk apa
JMDenver
1

Sepertinya ~/.ssh/authorized_keysfile Anda tidak diatur dengan benar. Verifikasikan bahwa:

  • Itu ada di jalur yang benar.
  • Izin file adalah 0600.
  • Izin ~/.sshadalah 0700.
cdhowie
sumber
Saya cukup baru dalam hal ini, sangat menyesal jika ini terdengar bodoh, tetapi file kunci SSH publik saya hanya sekelompok karakter (gen kunci standar) tanpa informasi lain. Saya memperoleh file SSH ini ketika saya men-setup git di komputer saya. Saya berasumsi ini akan menjadi kunci SSH publik yang sama yang akan saya gunakan untuk menggunakan kode heroku saya. Atau apakah heroku memiliki kunci SSH publik sendiri yang harus saya hasilkan?
vich
1
Ya, Anda dapat menggunakan kembali kunci SSH publik Anda untuk banyak host yang berbeda. Saya tidak yakin persis bagaimana Heroku bekerja, tetapi saya dapat melihat bahwa jawaban saya tidak benar-benar berlaku dalam kasus ini. Anda mungkin memverifikasi bahwa kunci Anda diterima oleh antarmuka web mereka. Jika semuanya masih memeriksa, coba hubungi tim dukungan mereka.
cdhowie
Terima kasih atas sarannya! Saya telah menghubungi dukungan heroku. Saya akan memperbarui begitu saya punya jawaban.
vich
Baik. Saya tertarik untuk mendengar apa masalahnya juga. :)
cdhowie
1
Jadi, masalahnya adalah penamaan file kunci SSH publik. Ketika saya awalnya membuat file, saya juga menamainya kembali, yang menyebabkan masalah dalam penggelaran sebagai git tidak akan terhubung dengan benar dan dengan demikian membuat penyebaran heroku juga gagal. Untuk menyelesaikan masalah, saya membuat kunci SSH publik baru dan menambahkannya ke github sebelum mencoba lagi. Sekarang terhubung! Terima kasih atas bantuan Anda!
vich
1

Saya harus melakukan:

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

Kemudian berhasil:

$ git push heroku master  
ericj
sumber
1

Periksa konfigurasi .ssh Anda untuk heroku. Buka folder .ssh dan buka file konfigurasi

cd ~/.ssh
subl config

'Subl' adalah untuk Sublime Text, tetapi Anda dapat menggunakan editor apa pun yang Anda inginkan. Cari baris "IdentityFile" dan pastikan memiliki kunci non publik terdaftar:

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

tidak

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

Itu berhasil untuk saya. Saya tidak yakin mengapa milik saya memiliki versi publik di file konfigurasi, tetapi itu melakukannya dan itu membuat kesalahan:

Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
Kevin K.
sumber
1

Saya masih mengalami masalah setelah mencoba semua ide ini. Ini masalah saya:

Repositori heroku jarak jauh saya funked. Saya menyegarkannya sebagai berikut:

git remote -v

Kemudian hapus heroku yang salah:

git remote rm heroku

Kemudian tambahkan yang baru

git remote add heroku [email protected]:sitename.git

Anda bisa mendapatkan nama pengguna dari halaman pengaturan Heroku untuk aplikasi Anda. Semoga berhasil!

Senjata itu
sumber
1

Masalah yang saya hadapi adalah pada Windows dan selalu setiap kali saya menjalankan "kunci heroku: tambahkan" itu memilih kunci github. Jadi, inilah langkah-langkah yang saya ikuti untuk menyelesaikan masalah ini

  1. pergi ke direktori .ssh di bawah folder "Document and Settings" dan menghapus kunci hub git
  2. jalankan perintah kunci heroku: tambahkan

Perintah di atas meminta saya untuk membuat kunci baru dan berikut adalah hasilnya Tidak dapat menemukan kunci publik yang ada. Apakah Anda ingin membuatnya? [Yn] Y Menghasilkan kunci publik SSH baru. Mengunggah kunci publik SSH C: / Dokumen dan Pengaturan / Admin / .ssh / id_rsa.pub ... selesai! Permata 'heroku' telah ditinggalkan dan diganti dengan Heroku Toolbelt, unduh dan instal dari https://toolbelt.heroku.com .

  1. jalankan kembali perintah kunci heroku: tambahkan

Perintah di atas tidak akan memberikan hasil berikut: Menemukan kunci publik yang ada: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Mengunggah kunci publik SSH C: / Dokumen dan Pengaturan / Admin / .ssh / id_rsa.pub .. dilakukan

  1. Sekarang gunakan master git push heroku

bagi saya menggunakan langkah-langkah di atas menyelesaikan masalah dan dapat menyebarkan aplikasi di cloud.

Ashok
sumber
1

Saya mengalami masalah yang sama; mengikuti langkah-langkah ini akan membantu:

  1. Pertama, masuk: login heroku
  2. Hapus semua kunci: kunci heroku: jelas
  3. Hapus semua file di folder lokal (semua .pubfile dan know_host) di.ssh/ folder
  4. Masuk lagi: heroku login - u akan menanyakan tanpa kunci, jadi ikuti instruksi pada layar.
Novpiar Effendi
sumber
Tidak berfungsi untuk menyelesaikan masalah. Saya masuk, berhasil menambahkan kunci, dan masih mendapatkanPermission denied (publickey).
JGallardo
Mengapa kita perlu menghapus semua file di folder .ssh?
Starx
0

Saya hanya ingin menambahkan bahwa direktori tersebut tidak harus C: \ Users \ [username] \. Ssh. Ini adalah direktori tempat Anda membuat kunci publik.

Misalnya direktori rumah saya di Windows diubah menjadi C: \ [nama pengguna]. Direktori rumah Anda dalam sub-folder .ssh adalah tempat terbaik dan kemungkinan besar Anda telah membuat kunci Anda. Anda dapat memeriksa direktori home Anda di Windows dengan perintah:

    echo %HOMEPATH%
Nicholas
sumber
0

Jika Anda ingin menggunakan "sudo", contoh:

sudo git clone [email protected]......... -o heroku

Anda juga harus membuat kunci ssh untuk pengguna root Anda.

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

dan itu akan berhasil.

jika Anda tidak menggunakan pengguna root, buat kunci ssh di direktori pengguna Anda.

cd /home/user/.ssh

Maaf jika kalimat saya kacau ...

Kiddo
sumber
0

Coba perbaiki izin dalam Disk Utility (Mac OS X). Membantuku

Ildar
sumber
0

Pertama-tama pastikan file tersembunyi terlihat di Mac Anda. Jika tidak dilakukan:

  • Buka terminal dan ketik defaults write com.apple.Finder AppleShowAllFiles TRUE
  • killall Finder

Langkah selanjutnya:

  • Pergi ke Users/user_name/.ssh/ menghapus semua file.
  • Membuka tipe terminal di ssh-keygen -t dsa
  • Kemudian heroku keys:add ~/.ssh/id_dsa.pub

NB saya melakukannya di Mac OSX 10.7.2 Lion. Padahal prosedurnya juga harus sama pada orang lain.

Munim Dibosh
sumber
0

Saya memiliki masalah ini juga. Saya menggunakan Mac OSX. Cara saya memperbaikinya adalah dengan login sebagai admin

sudo su

kata sandi

Jake Lin
sumber
0

Solusi dmajkic membantu saya akhirnya:

Untuk pengguna Windows, ini bisa berarti: klien git tidak dapat menemukan kunci Anda. Periksa kunci di c: \ Users \ UserName.ssh \ and! variabel lingkungan HOME = c: \ Users \ UserName \

Grigory Kislin
sumber
0

Inilah yang bekerja untuk saya. Situs heroku tidak ditambahkan ke host yang dikenal. Pergi ke window-other- tampilkan repositori view-git-git. Dari sana klon repositori. Setelah Anda mengkloningnya, hapus repositori yang baru saja dibuat dan kemudian impor dari menu file. Lakukan ini sejak saat Anda mengkloning repositori, itu tidak menambahkannya ke tampilan explorer. Sekarang Anda harus memiliki repositori git dan tampilan explorer.

James Murgolo
sumber