我正在开发一种解决方案,将大量 SSH 密钥插入到我的 SSH 服务器的授权密钥文件中。有人知道可以插入该文件的密钥数量限制吗?我们说的是一百个、几千个还是几万个?有什么想法吗?当您拥有大量密钥时,性能会受到怎样的影响?
我认为最好将密钥分配给不同的用户,但我想知道一个用户的限制。
答案1
文件中条目的数量没有限制。从源代码
auth2-pubkey.c
/* return 1 if user allows given key */
static int
user_key_allowed2(struct passwd *pw, Key *key, char *file)
{ ...
while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) {
char *cp, *key_options = NULL;
正如您所见,这只是循环遍历文件,直到 read_keyfile_line 返回 -1。
答案2
没有限制,但找到正确的密钥会很慢,就像对大型文本文件进行 GREP 操作一样。