【问题标题】:Creating openssh public keys from private keys with pycrypto使用 pycrypto 从私钥创建 openssh 公钥
【发布时间】:2016-07-15 15:00:40
【问题描述】:

如何使用给定的私钥创建 DSA openssh 格式的公钥?

openssh 公钥格式如下:

ssh-dss AAAAB3NzaC1kc3MAAACBAKFY7ysDwhMf5j3IOmPg1ztzAodBzQHua5m7/IM8nEYdCDeLzI+Jx24pRDUKseRVC5DUIHU7sRtRpCMDmGBcJwxHF9G4ofrP5hlUaDTHeKHrOKgGdRzPw5xtExImwYfCn97HMc6OpQrsAysL7KCxQHgD41t7IEaSQRjK8zK2IBqJAAAAFQD6Wjepos/lp0Vw8mrRLMIEhocZpQAAAIBXJ+E3J+dMOIHlYpEYm6BmI92/YhAT3+4rfDORQkUtcgmyQiAJ4CWvOBrcwK7zpLZ/pNNujv3cc4whigAqnZm9f+x8LDT7iIZ3FGdvHFDxYiTZVJTv2g1kaS/AABG5KfsVVkV2TP+XO12EjoEjoNvgjA1Z0fSeeKeP8YQNgMNjFgAAAIAobgPabsJCnFuazy+WOoo9SgfqeafXbrsxWPbKV4mjbUKXbOASV4F35Vuk1DAFRRP2/xYxv2QsiW4F2wsGSlsfnvb8bbmhzFHU81BrPRd1R60JUCDnvwVYJlJUqIvgfYbi3AXuxaqK3cLKWIFZGrYGyd2x8DRNpE7SLDMfWY7Jgw== root@Server

使用 pycrypto,同样的事情与 RSA 工作得很好:

key.publickey().exportKey('OpenSSH')

很遗憾,DSA 对象没有 exportKey() 函数。

我对 ecdsa 密钥也有类似的问题。底线,我需要一个 python 等效项(对于 DSA 和 ecdsa):

ssh-keygen -y -f /path/to/private_key > /path/to/public_key

【问题讨论】:

    标签: python openssh pycrypto ecdsa dsa


    【解决方案1】:

    表达式:

     key.publickey().exportKey('OpenSSH')
    

    PyCryptodome 支持获取 OpenSSH 格式的 DSA 公钥,这是一个 PyCrypto 分支。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多