如何验证潜在的公共ssh关键部分?

时间:2016-03-18 22:04:41

标签: ssh openssh

我正在构建一个小型服务,用户可以上传其公共SSH密钥以访问Mercurial存储库(通过SSH)。我想验证用户粘贴的是什么:

  • 有效(ssh-keygen -l -f pasted_key_put_in_a_file退出代码为0)
  • 不是他们的密钥对的私有部分< ---这就是我正在寻找的命令

根据我的理解,ssh-keygen -l -f ...没有说明被检查的关键部分是公共部分还是私人部分。

有没有办法验证文件是否包含/代表密钥对的私有部分?

1 个答案:

答案 0 :(得分:1)

事实证明,ssh-keygen -l -f private_key会在与public_key相同的目录中查找匹配的private_key,并在找到时使用该private_file。但是如果没有这样的(通过名称)匹配的公钥部分,if将被尝试并且程序会抱怨。因此,我认为无法使用的命令实际上可以使用(只要在其旁边的文件中没有公共密钥部分,并且具有匹配的名称)。