Bisakah saya memiliki beberapa kunci ssh di folder .ssh saya?


30

Dapatkah saya membuat beberapa kunci ssh, dan mengganti nama menjadi nama yang mudah dimengerti oleh pengguna sehingga saya tahu kunci mana untuk situs web yang mana, dll.

Apakah ini aman?

misalnya:

github_id_rsa
github_id_rsa.pub
..
...

Bagaimana ia tahu kunci mana yang harus diperiksa saat menghubungkan?

Di komputer saya sekarang, ketika saya melihat known_hosts, mereka semua tampaknya memiliki kunci yang sama setelah nama host ??



Juga, kunci host yang dikenal pasti tidak sama, lihat saja ujung garis untuk setiap host.
slhck

Jawaban:


15

Ya, Anda dapat memiliki kunci ssh yang berbeda. Ada dokumentasi yang sangat bagus di situs Bantuan GitHub di Help.GitHub - Beberapa Kunci SSH . Pada dasarnya Anda akan menggunakan ssh-add untuk menambahkan kunci tambahan sehingga agen dapat menggunakannya. Kemudian Anda mengatur konfigurasi ssh hosts sehingga koneksi ssh ke domain yang berbeda akan terlihat di sini dan kunci yang sesuai akan digunakan. semoga berhasil!


1
Tautan tidak lagi berfungsi
danwellman


44

Anda dapat memodifikasi file ~ / .ssh / config untuk menggunakan file identitas yang berbeda untuk server yang berbeda. Edit ~ / .ssh / config di editor favorit Anda dan tambahkan entri yang sesuai dengan situasi Anda seperti:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

Bagian pertama di atas menetapkan default untuk semua host dan bagian lain menimpa apa yang harus digunakan untuk masing-masing host yang cocok dengan pola. Jika Anda memiliki nama pengguna yang berbeda untuk setiap host, maka Anda dapat menambahkan kunci pengguna diikuti oleh nama pengguna pada remote ke bagian.


3
Ini adalah jawaban yang paling berguna untuk pertanyaan ini terlepas dari tujuan apakah GitHub atau situs lain.
Pierre

Ini tidak berfungsi jika Anda memiliki beberapa akun bitbucket dan perlu memiliki kunci yang berbeda untuk masing-masingnya.
John Little

chmod 400 ~/.ssh/id_rsaatau chmod 400 ~/.ssh/foo_id.rsamungkin perlu.
T.Woody

@JohnLittle Lihat jawaban saya yang memecahkan akun multi-pengguna untuk domain yang sama.
Sathishkumar Rakkiasamy

4

Anda dapat mengatur beberapa kunci ssh untuk situs mana pun yang memiliki banyak akun pengguna

Di bawah ini adalah contoh yang biasa saya ikuti dalam pengembangan saya untuk GitHub.com

Contoh file konfigurasi

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

Pada saat menambahkan asal baru

Untuk akun pribadi

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

Untuk akun Organisasi

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

Semoga ini bisa membantu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.