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.
git
heroku
deployment
public-key
vich
sumber
sumber
heroku login
menulis email dan kata sandi dan coba lagi.Jawaban:
Anda harus mengunggah kunci publik ke Heroku:
Jika Anda tidak memiliki kunci publik, Heroku akan meminta Anda untuk menambahkan satu secara otomatis yang berfungsi dengan mulus. Cukup gunakan:
Untuk menghapus semua kunci Anda sebelumnya lakukan:
Untuk menampilkan semua kunci yang ada lakukan:
EDIT:
Tampaknya hal di atas tidak berhasil untuk saya. Saya telah mengacaukan dengan
HOME
variabel lingkungan dan SSH sedang mencari kunci di direktori yang salah.Untuk memastikan bahwa SSH memeriksa kunci di direktori yang benar, lakukan:
Yang akan menampilkan baris (Sampel) berikut
Permission denied (publickey).
Dari di atas, Anda dapat mengamati bahwa ssh mencari kunci di
/c/Wrong/Directory/.ssh
direktori yang bukan tempat kami memiliki kunci publik yang baru saja kami tambahkan ke heroku (menggunakanheroku keys:add ~/.ssh/id_rsa.pub
) ( Harap dicatat bahwa di windows OS~
merujuk keHOME
jalur yang di winC:\Users\UserName
7/8 ) adalah )Untuk melihat direktori home Anda saat ini, lakukan:
echo $HOME
atauecho %HOME%
(Windows)Untuk mengatur
HOME
direktori Anda dengan benar (maksud saya dengan benar direktori induk.ssh
direktori, sehingga ssh dapat mencari kunci di direktori yang benar) merujuk tautan ini:SO Jawab tentang cara mengatur variabel lingkungan Unix secara permanen
SO Pertanyaan mengenai ssh mencari kunci di direktori yang salah dan solusi untuk hal yang sama.
sumber
heroku keys:add
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 iniSaya memiliki masalah yang sama, langkah-langkah di bawah ini berhasil untuk saya,
[email protected] & kata sandi
->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
dan itu untuk heroku
ubah direktori ke ruang kerja, dari
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
sumber
Github for Windows
, tetapi tidak ada file id_rsa.git bash
command prompt untuk menjalankan ssh-keygen. Terima kasih.Masalah ini mengacaukan saya selama beberapa hari.
Ini mungkin bisa membantu.
1) Cari tahu kunci apa yang Anda miliki di Heroku sekarang.
2) Bangun file ~ / .ssh / config:
Edit dengan info ini
sumber
User
di baris terakhir itu. Juga, itu mengeluh tentang#
komentar, jadi saya baru saja menghapusnya.host
info ini ke file konfigurasi saya memecahkan masalah bagi saya. Saya membuat kunci heroku rsa dan izin default di heroku.pub membuat kesalahan ketika saya mencobagit push
. Saya haruschmod 600 heroku.pub
dan kemudian ketika saya mendorongnya berhasil.IdentityFile ~/.ssh/ssh-dss
adalah jalur menuju kunci privat . Anda ingin memasukkan kunci pribadi Anda di sini, bukan kunci publik Anda .Berikut ini tautan yang menjelaskan cara mengelola kunci ssh Anda: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
sumber
Saya memiliki masalah yang sama karena saya tidak punya kunci publik, jadi saya lakukan:
Itu akan menghasilkan kunci publik dan kemudian berfungsi dengan baik
sumber
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\.ssh
keC:\Program Files (x86)\Git\.ssh
. Di situlah klien git ini mencari kunci ketika mendorong ke heroku.Saya harap ini membantu.
sumber
%HOME%
variabel lingkungan%USERPROFILE%
.Ini solusi bagi saya:
sumber
chmod 600 ~/.ssh/heroku_rsa
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.
sumber
Jika Anda telah mengunggah kunci maka cobalah untuk menghapus kunci dan kemudian unggah kembali dengan kunci baru.
ini seharusnya bekerja.
sumber
Must specify KEY to remove
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)
sumber
Pada Windows 7,64 bit, solusi di atas (Onur Turhan) bekerja untuk saya dengan sedikit perubahan seperti di bawah ini
Masukkan email / kata sandi
Ini menghasilkan dua file (id_rsa dan id_rsa.pub) di direktori c: \ Users \ MyName (Tidak di direktori .ssh)
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.
sumber
Satu perintah tunggal berfungsi:
Itu akan membuat satu jika tidak ada.
sumber
heroku keys:add
bukanlah jawaban yang lengkap.Saya punya masalah ini ketika TortoiseGIT diinstal pada mesin saya. Setelah mengubah variabel lingkungan
GIT_SSH
dariuntuk
dan mengikuti tutorial ini dengan
ssh-keygen
dankeys:add
, berfungsi!sumber
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.
sumber
Urutan untuk diikuti
Saat menjalankan pernyataan kedua, ia akan meminta input, cukup tekan Enter (kembali) tiga kali dan sebuah kunci akan ditambahkan.
sumber
Jawaban yang diberikan di atas TIDAK berfungsi, tetapi ternyata saya perlu melakukan beberapa langkah tambahan sebelum berhasil.
sumber
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 #
sekarang jalankan git push heroku master dan itu seharusnya bekerja.
sumber
Sepertinya
~/.ssh/authorized_keys
file Anda tidak diatur dengan benar. Verifikasikan bahwa:~/.ssh
adalah 0700.sumber
Saya harus melakukan:
Kemudian berhasil:
sumber
Periksa konfigurasi .ssh Anda untuk heroku. Buka folder .ssh dan buka file konfigurasi
'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:
tidak
Itu berhasil untuk saya. Saya tidak yakin mengapa milik saya memiliki versi publik di file konfigurasi, tetapi itu melakukannya dan itu membuat kesalahan:
sumber
Saya masih mengalami masalah setelah mencoba semua ide ini. Ini masalah saya:
Repositori heroku jarak jauh saya funked. Saya menyegarkannya sebagai berikut:
Kemudian hapus heroku yang salah:
Kemudian tambahkan yang baru
Anda bisa mendapatkan nama pengguna dari halaman pengaturan Heroku untuk aplikasi Anda. Semoga berhasil!
sumber
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
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 .
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
bagi saya menggunakan langkah-langkah di atas menyelesaikan masalah dan dapat menyebarkan aplikasi di cloud.
sumber
Saya mengalami masalah yang sama; mengikuti langkah-langkah ini akan membantu:
.pub
file danknow_host
) di.ssh/ folder
sumber
Permission denied (publickey).
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:
sumber
Jika Anda ingin menggunakan "sudo", contoh:
Anda juga harus membuat kunci ssh untuk pengguna root Anda.
dan itu akan berhasil.
jika Anda tidak menggunakan pengguna root, buat kunci ssh di direktori pengguna Anda.
Maaf jika kalimat saya kacau ...
sumber
Coba perbaiki izin dalam Disk Utility (Mac OS X). Membantuku
sumber
Pertama-tama pastikan file tersembunyi terlihat di Mac Anda. Jika tidak dilakukan:
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
Langkah selanjutnya:
Users/user_name/.ssh/
menghapus semua file.ssh-keygen -t dsa
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.
sumber
Saya memiliki masalah ini juga. Saya menggunakan Mac OSX. Cara saya memperbaikinya adalah dengan login sebagai admin
sumber
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 \
sumber
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.
sumber