saya punya beberapa kunci ssh dan saya juga punya akun di bitbucket dan github. bagaimana kapan pun saya menggunakan tarikan itu memberi saya kesalahan
:/var/www/proj$ git pull origin master
conq: repository access denied.
fatal: The remote end hung up unexpectedly
atau jika saya ssh situs web bitbucket itu memberikan kesalahan kunci publik ditolak
:~$ ssh [email protected]
Permission denied (publickey).
bagaimana saya bisa menyelesaikan ini dan menggunakan kunci yang berbeda dengan akun yang berbeda.
Jawaban:
Ini semua dikumpulkan dari situs web dan stackoverflow, semoga ini membantu yang baru mengenal ssh
sehingga Anda dapat memiliki banyak kunci ssh
Catatan: kita perlu menambahkan kemudian ke ssh-agent, mungkin id_rsa akan ditambahkan sehingga kita perlu menambahkan kunci pribadi lainnya
sekarang kami telah menambahkan kedua kunci ssh ke ssh-agent
kami punya satu untuk bitbucket dan satu untuk github
jadi kami membuat file konfigurasi seperti ini
Catatan: Saya menggunakan 2 kunci berbeda untuk 2 akun berbeda di bitbucket dan satu untuk github.
Sekarang kita perlu memberi tahu git repositori mana host yang akan digunakan sehingga saya akan mendapatkan kunci ssh spesifik untuk akun tertentu
ubah
[email protected]/yyyproject.git
kegit@bit-yyyuser:yyyuser/yyyproject.git
jadi di folder proyek dan tambahkan url jarak jauh
dalam proyek lain
sekarang Anda dapat menggunakan dorong dan tarik dengan mudah
dan proyek lain
sekarang saya tidak memiliki proyek github pada mesin lokal sehingga kita perlu mengkloning proyek tetapi kita perlu membuat sedikit perubahan pada url untuk mengkloning
url kita seperti ini
karena kita harus mengkloningnya dengan kunci tertentu kita hanya perlu mengubah nama host dengan host yang telah kita tentukan
sebagaimana didefinisikan dalam file konfigurasi
dan sekarang kita bisa mengkloning
kami telah mengidentifikasi kunci ssh yang berbeda untuk host yang berbeda, satu untuk git dan satu untuk bitbucket sekarang sistem mengetahui kunci ssh mana yang akan digunakan dengan host mana.
Sekarang kita dapat dengan mudah menarik, mendorong.
sumber
Saya mengkonfigurasi
~/.ssh/config
, seperti ini:kemudian gunakan custom hostname alih-alih domain asli di git url:
Untuk detail lebih lanjut silakan baca di sini: http://itblog.study.land/how-to-specify-different-ssh-keys-for-git-push-for-a-given-domain/
sumber