Nếu tôi đang sử dụng một cái gì đó như gitolite để xử lý kiểm soát truy cập thì ủy quyền quy mô như thế nào? Có nghĩa là nếu tôi nói 50.000 người dùng thì hiệu suất sẽ như thế nào (tôi đoán là không tốt lắm). Các lựa chọn thay thế là gì?
Cập nhật: Tôi quyết định tự thực hiện một số thử nghiệm (điều mà lẽ ra tôi nên làm ngay từ đầu). Tôi đã viết một tập lệnh đơn giản để tạo các khóa SSH và thêm chúng vào tệp ủy quyền. Máy tính của tôi không nhanh như vậy nên tôi chỉ tạo được 8.061 khóa và sau đó thêm khóa của riêng tôi vào cuối, tệp kết thúc là 3,1 MB. Sau đó tôi đã thêm một kho git với một tệp và chạy git clone ba lần:
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
Hiệu suất tốt hơn nhiều so với tôi nghĩ. Tôi vẫn rất quan tâm đến bất kỳ giải pháp thay thế nào có thể hiệu quả nhanh hơn cho một nhóm lớn hơn 50.000 khóa.
authorized_keys
tệp có khóa 50k chỉ khoảng 25MB. Chắc chắn điều đó sẽ được lưu hoàn toàn vào bộ đệm hệ thống tập tin. Tôi tưởng tượng thời gian để tìm khóa trong tệp sẽ bị thu hẹp theo thời gian để thực sự sử dụng khóa đó để xác thực người dùng.