Saya baru mengenal Rails, dan saya mencoba untuk menyebarkan aplikasi yang sangat sederhana ke Heroku. Ini adalah aplikasi kedua yang saya gunakan, dan yang pertama saya bisa melakukannya dengan baik. Namun saya memiliki beberapa masalah dengan ini. Setiap kali saya " git push heroku master ", saya mendapatkan kesalahan ini:
! Kunci Anda dengan sidik jari xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: tidak berwenang untuk> mengakses my_heroku_app.
fatal: Ujung yang jauh menutup secara tak terduga
Saya telah mencoba mengelola kunci saya setelah login di heroku. Jika saya mengetik " kunci heroku " konsol saya , maka saya mendapatkan:
Tidak ada kunci untuk alamat email saya.
Namun, jika saya menjalankan perintah " kunci heroku: tambahkan " saya dapatkan
Ditemukan kunci publik yang ada: /Users/michele/.ssh/id_rsa.pub Mengunggah kunci publik ssh / Pengguna/michele/.ssh/id_rsa.pub! Sidik jari sudah ada. Silakan gunakan satu kunci ssh per akun Heroku
Tolong bantu aku! Ini sangat menyebalkan, saya tidak tahu apa yang salah! Terima kasih
heroku logout
, masuk ke akun lain, dan menghapus kunci RSA default dari akun itu. Setelah itu saya bisa mendorong dengan kunci yang baru dibuat ini.ssh-add ~/.ssh/id_rsa_heroku
sayassh-add ~/.ssh/identity.heroku.foo
karena saya juga menggunakan https://github.com/ddollar/heroku-accounts (manajer beberapa akun untuk Heroku).Saya juga memiliki beberapa kunci dan beberapa akun heroku, jadi saya menemukan masalah ini setiap beberapa bulan. Seperti disebutkan Giordano Scalzo, Tom Carchrae, dan user664833, masalah utama adalah ssh-agent, yang Anda kendalikan menggunakan
ssh-add
perintah. Halaman manual (man ssh-add
) sebenarnya cukup jelas dan ringkas, jadi periksalah.Anda dapat membuat daftar semua kunci yang diketahui oleh ssh-agent:
Anda dapat menghapus semua kunci yang diketahui oleh ssh-agent dengan:
Atau hapus kunci tertentu dengan
Jangan khawatir! Anda sebenarnya tidak menghapus kunci, hanya mengubah agen ssh mana yang secara otomatis mencoba untuk digunakan, misalnya, ketika Anda mencoba untuk mendorong ke heroku. Sangat mudah untuk menambah dan menghapus kunci sesuai kebutuhan, jadi bagi saya, ketika saya merasa frustrasi dengan masalah ini, cara termudah untuk memperbaikinya adalah dengan menghapus semua kunci dan menambahkan kembali hanya pada yang ingin saya gunakan saat ini.
sumber
Komputer Anda memiliki kunci SSH, tetapi kunci SSH itu dikaitkan dengan akun Heroku lain.
Jika Anda perlu menggunakan kedua akun untuk aplikasi yang berbeda di komputer yang sama, Anda harus membuat kunci SSH baru pada mesin Anda dan mengunggahnya ke Heroku:
Pastikan untuk menyimpannya sebagai '/ Pengguna / Pengguna / .ssh/new_id_rsa.pub' saat diminta meminta Anda.
Anda kemudian perlu menambahkan host alternatif untuk
heroku.com
ke Anda~/.ssh/config
:Dan kemudian perbarui
.git/config
dalam proyek Anda untuk menggunakan alias host:Dengan memilih antara
heroku
danheroku-alt
di remote.git/config
file proyek tertentu Anda dapat mengelola proyek mana yang menggunakan kredensial mana.sumber
Host heroku-alt not found: 3(NXDOMAIN)
. Saya menempatkan ini di terminal di Mountain Lion.~/.ssh/config
juga tidak ada, hanya sekelompok.pub
file dan satu yang dipanggilknown_hosts
. Dan ide?Host
,HostName
danIdentityFile
garis. Maka harus bekerja dengan baik.Berikut adalah penjelasan yang sangat jelas yang kurang dari dokumentasi Heroku atau jawaban lain untuk pertanyaan itu. Setidaknya semua info tampaknya tidak muncul di satu tempat. Ini juga memungkinkan Anda memahami masalah dengan cara yang tidak dimiliki alat akun.
Heroku mengidentifikasi Anda dalam 2 cara:
Yang pertama ada di .git / config
Ini sepertinya membiarkan Anda melakukan operasi dasar menggunakan
heroku
Cara kedua heroku mengidentifikasi Anda adalah dengan operasi apa pun yang menggunakan ssh (git push). Heroku akan mengidentifikasi Anda dengan kunci ssh Anda, sebagaimana dinyatakan di sini: https://devcenter.heroku.com/articles/keys
Jadi setiap akun heroku yang Anda kerjakan harus mengirim kunci berbeda ke heroku saat menggunakan ssh. Ikuti setiap tutorial untuk membuat kunci ssh Anda.
Kuncinya adalah mendapatkan SSH untuk menggunakan kunci yang berbeda untuk setiap akun Heroku. Bagaimana Anda mengkonfigurasi ini? Anda harus melakukan 2 hal:
1) Anda harus membuat domain 'dummy' yang akan disadap dan dikonfigurasi ulang .ssh / config Anda. Ini akan memberi tahu ssh domain 'aktual' yang Anda inginkan, dan kunci ssh khusus mana yang akan digunakan.
2) Ubah .git / config Anda untuk menggunakannya saat menggunakan git push. Alih-alih heroku.com, gunakan domain dummy yang Anda atur di .ssh / config Anda
Itu saja :) Agak rumit dan sedikit sederhana pada saat bersamaan. Butuh waktu 3 tahun untuk membenturkan kepala ke dinding dan mencoba-coba menemukan informasi ini. Itu harus didokumentasikan dengan jelas di suatu tempat, tapi setidaknya ini awal.
sumber
Anda harus membuat kunci baru dan menambahkannya
tentukan nama file baru setelah dijalankan
lalu (dalam kasus saya)
sumber
Saya memiliki masalah yang sama minggu lalu. Tautan ini membantu saya keluar. Saya harap ini sedikit membantu Anda. http://devcenter.heroku.com/articles/keys
sumber
Dalam kasus saya,
heroku keys
sudah ada kunci yang benar terdaftar. Jadi, yang harus saya lakukan adalah berlarissh-add /path/to/that/key
dan kemudian semuanya mulai bekerja dengan baik.sumber
Saya juga memiliki dua akun Heorku dan sebagai penyelesaian, saya "mengundang" akun utama saya (akun yang kuncinya digunakan secara otomatis oleh Heroku) sebagai kolaborator untuk proyek saya.
sumber
Tidak ingin menambahkan solusi untuk pengguna Windows.
Pertama unduh "Generator Putty Key"
Buat kunci dengan itu OBS Anda perlu memindahkan mouse Anda ke daerah kosong untuk menghasilkan keacakan.
Simpan kunci Anda, cukup ingat untuk mengganti nama kunci Anda menjadi [name] .pub
Jalankan
heroku keys:add
di terminal!sumber
Dalam kasus saya masalahnya adalah versi ssh yang saya gunakan. Saya hanya mengatur variabel lingkungan GIT_SSH ke yang lain ("GIT_SSH = / usr / bin / ssh") dan semuanya berjalan baik untuk saya.
sumber