我正在构建一个小型服务,用户可以上传其公共SSH密钥以访问Mercurial存储库(通过SSH)。我想验证用户粘贴的是什么:
ssh-keygen -l -f pasted_key_put_in_a_file
退出代码为0)根据我的理解,ssh-keygen -l -f ...
没有说明被检查的关键部分是公共部分还是私人部分。
有没有办法验证文件是否不包含/代表密钥对的私有部分?
答案 0 :(得分:1)
事实证明,ssh-keygen -l -f private_key
会在与public_key
相同的目录中查找匹配的private_key
,并在找到时使用该private_file
。但是如果没有这样的(通过名称)匹配的公钥部分,if
将被尝试并且程序会抱怨。因此,我认为无法使用的命令实际上可以使用(只要在其旁边的文件中没有公共密钥部分,并且具有匹配的名称)。