Saya punya repo Github yang ingin saya akses dari dua mesin Linux yang berbeda.
Untuk mesin pertama, saya mengikuti instruksi Github untuk membuat kunci SSH, dan menambahkan kunci publik yang dihasilkan ke Github. Klien ini berfungsi dengan baik.
Untuk klien kedua, saya menyalin /home/{user}/.ssh/id_rsa
file dari klien pertama. Saya pikir ini mungkin yang harus saya lakukan, tetapi ketika saya mencoba untuk terhubung saya mendapatkan 'Izin ditolak (publickey).'
Apa yang saya lewatkan?
Jika Anda mendapatkan izin yang ditolak dari Github, bisa jadi itu tidak mengambil file kunci SSH yang Anda salin, melainkan sistem default. Cara mudah untuk melakukannya adalah dengan membuat
~/.ssh/config
file yang bagus dan memasukkan yang berikut ini di dalamnya:Ini akan memaksa klien SSH Anda untuk menggunakan kunci itu hanya untuk github.com.
Semoga ini membantu.
sumber
Saya tahu ini sudah tua, tetapi saya pikir saya akan menunjukkan bahwa Anda juga perlu menyalin kunci publik ke klien kedua
(atau hitung ulang dengan ssh-keygen -y -f ~ / .ssh / id_rsa_ ..> ~ / .ssh / id_rsa ... pub)
Dari [1]:
Klien ssh Anda memulai otentikasi dengan mengirimkan kunci publik (tanda tangan yang dirujuk dalam huruf tebal di atas) ke server. Server, jika kunci publik adalah kunci yang diotorisasi, mengirimkan ID sesi acak kembali ke klien Anda. Klien Anda kemudian menyandikan ID sesi itu dengan kunci pribadi dan mengirimkannya kembali ke server. Server menerjemahkan kode sesi itu menggunakan kunci publik, dan jika cocok dengan ID sesi asli, maka otentikasi klien Anda.
[1] [ http://www.openssh.org/txt/rfc4252.txt[[1]
sumber
Mungkin karena Anda tidak menyalin izin file pada klien kedua.
Tetapi kunci privat adalah privat , cara yang benar adalah membuat kunci privat baru pada klien kedua dan kemudian menambahkan kunci publiknya ke Github
sumber