sshd 如何知道哪个用户属于哪个 AuthorizedKeysFile?

sshd 如何知道哪个用户属于哪个 AuthorizedKeysFile?

如果我为 设定自定义路径AuthorizedKeysFile,如何sshd决定该密钥属于哪个用户?

授权密钥文件

指定包含可用于用户身份验证的公钥的文件。 AuthorizedKeysFile 可能包含 %T 形式的令牌,这些令牌在连接设置期间被替换。定义了以下标记:%% 替换为文字“%”,%h 替换为正在验证的用户的主目录,%u 替换为该用户的用户名。扩展后,AuthorizedKeysFile 将被视为绝对路径或相对于用户主目录的路径。默认值为“.ssh/authorized_keys”。

答案1

sshd不需要决定一个密钥属于哪个用户;它知道哪个用户正在尝试连接(目标系统上的用户),并且它知道在尝试中提供了哪个密钥。

扩展后, 指向的文件AuthorizedKeysFile用于确定目标用户是否允许提供的密钥。同样,它已经知道这是哪个用户(并且当它相对于目标用户的主目录时,它需要%u首先替换或查找该文件)。

相关内容