Authority_keys ne kadar iyi ölçeklenir?


11

Erişim kontrolünü ele almak için gitolit gibi bir şey kullanıyorsanız, authority_keys ne kadar iyi ölçeklenir? Yani 50.000 kullanıcıya performansın nasıl olacağını söylersem (çok iyi olmadığını tahmin ediyorum). Alternatifleri nelerdir?

Güncelleme: Kendim bazı testler yapmaya karar verdim (ilk etapta yapmalıydım). SSH anahtarları oluşturmak ve bunları bir yetkili_anahtarlar dosyasına eklemek için basit bir komut dosyası yazdım. Bilgisayarım o kadar hızlı değil, bu yüzden sadece 8.061 anahtar ürettim ve sonuna kadar kendi anahtarımı ekledim, dosya 3.1MB oldu. Sonra bir dosya ile git deposu ekledim ve üç kez git klonu çalıştırdım:

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

Performans düşündüğümden çok daha iyi. Hala büyük bir anahtar grubu 50.000+ için daha hızlı olabilecek herhangi bir alternatifle hala ilgileniyorum .


Tek bir sunucuda 50000 simulatenious kullanıcı veya sporadik erişimi olan toplam 50000 kullanıcı mı bekliyorsunuz ?
Mxx

Sporadik erişim. SSH sunucusunun performansını, her girişte 50.000 anahtar içeren bir yetkili_anahtarlar dosyası aramak zorunda kalıyorum.
Jeremy

3
authorized_keys50k anahtarlı bir dosya sadece 25 MB civarındadır. Elbette bu tamamen dosya sistemi tamponlarına önbelleklenecektir. Dosyada anahtar bulmak için zaman aslında kullanıcının kimliğini doğrulamak için bu anahtarı kullanmak için zaman cüce olacağını hayal ediyorum.
cjc

Yanıtlar:


7

GitHub'da bunun ne kadar hızlı olduğuna dair verimliliği gerçekten görebilirsiniz. Bu kadar çok anahtarla önemli bir darboğaz oluşturmayacaksınız.

2009'daki bloglarında belgelenmiş olmalarına rağmen , ssh anahtarlarının nasıl alınacağını bir veritabanından değiştirdiler. Şapka İpucu: @Jeremey

Ancak, 8k anahtarları oluşturdunuz, 50k anahtarlarla tekrar test edebilirsiniz.

Bu anahtarların geçerli anahtar olması gerekmez, sadece bir jeneratör yazın ve dosyayı yazın ve sonuna kadar ekleyin.


2
OP'nin donanımıyla birlikte bir 50K anahtar dosyasını test etmesi gerektiğini kabul etti. GitHub'ın harika bir örnek olup olmadığından emin değilim: arka uçta ne yaptıklarını kim bilebilir? Tüm bildiğimiz için, yetkili_s tuşlarını Redis'te saklayan özelleştirilmiş bir sshd'ye sahipler.
cjc

Belki de, ne üzerinde çalıştıkları hakkında oldukça vokaller ve gitolab kullanarak halka açık depolara hizmet veren diğer büyük siteler bundan bahsetmedi. Tabii ki fazla kilo değmez, ama bundan bahsetmedim.
vgoff

Gerrit, Gitosis'ten daha hızlı olması gerektiğini belirten optimize edilmiş bir ssh anahtar aramasına sahiptir. Gerrit projesini bilmiyordum.
vgoff

1
Github'un nasıl çalıştığı hakkında bir makale buldum: github.com/blog/530-how-we-made-github-fast . Anahtarları bir MySQL sunucusundan alan yamalı bir SSHD sunucusu kullanırlar.
Jeremy

2
sshd_config
Lluís'teki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.