Wenn ich etwas wie Gitolite verwende, um die Zugriffskontrolle zu handhaben, wie gut skalieren autorisierte_Tasten? Das heißt, wenn ich 50.000 Benutzer gesagt habe, wie wird die Leistung sein (ich schätze nicht sehr gut). Was sind die Alternativen?
Update: Ich habe beschlossen, selbst einige Tests durchzuführen (was ich eigentlich hätte tun sollen). Ich habe ein einfaches Skript geschrieben, um SSH-Schlüssel zu generieren und sie einer Datei "authorized_keys" hinzuzufügen. Mein Computer ist nicht so schnell, also habe ich nur 8.061 Schlüssel generiert und am Ende meine eigenen hinzugefügt. Die Datei war schließlich 3,1 MB groß. Ich habe dann ein Git-Repository mit einer Datei hinzugefügt und den Git-Klon dreimal ausgeführt:
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
Die Leistung ist viel besser als ich dachte. Ich bin immer noch sehr an Alternativen interessiert, die für eine große Gruppe von Schlüsseln über 50.000 schneller und effizienter sind.
authorized_keys
Datei mit 50.000 Schlüsseln ist nur etwa 25 MB groß. Sicherlich wird das vollständig in Dateisystempuffern zwischengespeichert. Ich würde mir vorstellen, dass die Zeit, um den Schlüssel in der Datei zu finden, durch die Zeit, in der dieser Schlüssel tatsächlich zur Authentifizierung des Benutzers verwendet wird, in den Schatten gestellt wird.Antworten:
Sie können tatsächlich die Effizienz auf GitHub sehen, wie schnell dies ist. Sie werden mit so vielen Schlüsseln keinen signifikanten Engpass verursachen.
Obwohl in ihrem Blog von 2009 dokumentiert , haben sie geändert, wie SSH-Schlüssel aus einer Datenbank abgerufen werden. Hut Tipp: @Jeremey
Wenn Sie jedoch über 8.000 Schlüssel erstellt haben, können Sie diese erneut mit 50.000 Schlüsseln testen.
Diese Schlüssel müssen keine gültigen Schlüssel sein. Schreiben Sie einfach einen Generator, schreiben Sie die Datei und hängen Sie Ihre an das Ende an.
quelle