Python 检查文件是SSH私钥还是公钥

Python 检查文件是SSH私钥还是公钥,python,ssh-keys,Python,Ssh Keys,我有一个用Python编写的工具,它接收到一个文件的路径。我想检查它是SSH私钥还是公钥(如果两者都不是则忽略)。我不知道如何实际地检查一个文件是否是这两个文件中的任何一个。Python中有没有办法做到这一点?这些键有许多复杂的形式。很难区分它们 有 由一行组成的公钥,其格式取决于您是否有RSA、DSA或版本1密钥 与OpenSSH兼容的私钥。他们从 -----BEGIN RSA PRIVATE KEY----- 以 -----END RSA PRIVATE KEY----- (前提是它是

我有一个用Python编写的工具,它接收到一个文件的路径。我想检查它是SSH私钥还是公钥(如果两者都不是则忽略)。我不知道如何实际地检查一个文件是否是这两个文件中的任何一个。Python中有没有办法做到这一点?

这些键有许多复杂的形式。很难区分它们

  • 由一行组成的公钥,其格式取决于您是否有RSA、DSA或版本1密钥
  • 与OpenSSH兼容的私钥。他们从

    -----BEGIN RSA PRIVATE KEY-----
    

    -----END RSA PRIVATE KEY-----
    
    (前提是它是RSA密钥)、DSA或版本1的其他字符串

  • SSH.COM和PuTTY有另一种不同的格式

祝你好运

也许你可以convice
ssh-keygen
为你做这项工作