根据标题,SSH 服务器是否需要知道公钥属于哪个用户?如果某人拥有私钥,但不知道密钥属于哪个用户,如果他们知道服务器,他们可以登录吗?
我试图通过生成一个有效但随机的用户名来消除名称冲突,该用户名仅供脚本使用,因此输入名称不是问题。如果私钥泄露,这是否会略微提高安全性?
答案1
正如您在评论中所说,密钥的名称无关紧要。除非将给定公钥的私钥正确映射到服务器上的用户,否则不能使用给定公钥的私钥登录服务器。这可以通过相应的主体证书(不能从私钥派生)或将公钥放在用户的文件中来完成。~/.ssh/authorized_keys
两者都需要客户端知道用户名和私钥。
答案2
如果生成的用户名确实是随机的并且足够大,那么它会增加安全性。
但是私钥与脚本保持密切联系,而这些脚本包含用户名。因此,我认为这些随机生成的用户名并没有什么好的/实用的用例。