Seberapa baik skala otor_keys?

11

Jika saya menggunakan sesuatu seperti gitolite untuk menangani kontrol akses seberapa baik skala otor_keys? Berarti jika saya katakan 50.000 pengguna seperti apa performanya (saya kira tidak terlalu bagus). Apa alternatifnya?

Pembaruan: Saya memutuskan untuk melakukan beberapa pengujian sendiri (yang seharusnya saya lakukan sejak awal). Saya menulis skrip sederhana untuk menghasilkan kunci SSH dan menambahkannya ke file yang diotorisasi. Komputer saya tidak secepat itu sehingga saya hanya menghasilkan 8.061 kunci dan kemudian menambahkan sendiri sampai akhir, file tersebut berakhir dengan 3.1MB. Saya kemudian menambahkan repositori git dengan satu file dan menjalankan git clone tiga kali:

With 8,061 keys (Mine is at the end of the file)
real    0m0.442s
real    0m0.447s
real    0m0.458s

With just a single key:
real    0m0.248s
real    0m0.264s
real    0m0.255s

Performanya jauh lebih baik daripada yang saya kira. Saya masih sangat tertarik dengan alternatif apa pun yang mungkin lebih cepat lebih efisien untuk kelompok besar 50.000+.

Jeremy
sumber
Apakah Anda berharap memiliki 50.000 pengguna simulatif untuk satu server atau total 50.000 pengguna dengan akses sporadis?
Mxx
Akses sporadis. Saya bertanya tentang kinerja server SSH yang harus mencari file yang diotorisasi dengan 50.000 kunci pada setiap login.
Jeremy
3
Sebuah authorized_keysfile tersebut dengan 50k kunci hanya sekitar 25MB. Tentunya itu akan sepenuhnya di-cache ke buffer filesystem. Saya membayangkan waktu untuk menemukan kunci dalam file akan dikerdilkan pada saat menggunakan kunci itu untuk mengotentikasi pengguna.
cjc

Jawaban:

7

Anda sebenarnya dapat melihat efisiensi pada GitHub mengenai seberapa cepat ini. Anda tidak akan menyebabkan kemacetan yang signifikan dengan banyak tombol.

Meskipun seperti yang didokumentasikan di blog mereka dari 2009 , mereka telah mengubah cara kunci ssh diambil, dari database. Tip Hat: @ Jeremey

Tapi, Anda membuat lebih dari 8k kunci, Anda dapat menguji lagi dengan 50k kunci.

Kunci-kunci itu tidak perlu menjadi kunci yang valid, cukup tulis generator dan tulis file dan kemudian tambahkan milik Anda sampai akhir.

vgoff
sumber
2
Setuju bahwa OP hanya akan menguji file kunci 50K dengan perangkat kerasnya. Saya tidak yakin apakah GitHub adalah contoh yang bagus: siapa yang tahu apa yang mereka lakukan di backend? Yang kami tahu, mereka memiliki sshd khusus yang menyimpan kunci_dijamin dalam Redis.
cjc
Mungkin, tetapi mereka cukup vokal tentang apa yang sedang mereka kerjakan, dan situs-situs besar lainnya yang melayani repositori git publik menggunakan gitolab belum menyebutkannya. Tentu saja, beratnya tidak sepadan, tapi saya belum pernah melihatnya.
vgoff
Gerrit membanggakan dari pencarian kunci ssh yang dioptimalkan, menyatakan bahwa itu harus lebih cepat daripada Gitosis. Saya tidak tahu tentang proyek Gerrit.
vgoff
1
Saya menemukan artikel tentang cara kerja github: github.com/blog/530-how-we-made-github-fast . Mereka menggunakan server SSHD yang ditambal yang mendapatkan kunci dari server MySQL.
Jeremy
2
lihat opsi AuthorizedKeysCommand di sshd_config
Lluís