跳转到主要内容

处理OpenSSH2 (RFC4716)密钥的工具

项目描述

openssh_key

尽可能用纯Python 3处理OpenSSH2 (RFC4716)密钥的工具。

这些密钥文件是自OpenSSH 7.8 (2018-08-24)以来由ssh-keygen生成的默认格式,可以通过它们的-----BEGIN OPENSSH PRIVATE KEY-----标题来识别。

如果您需要将这些文件中的一个简单地转换为“传统”PEM格式,可以使用足够新的ssh-keygen – 或者您可以使用这个库。如果您只想完成转换,

ssh-keygen -e -m PEM -p -f my-openssh-format-private-key

my-openssh-format-private-key就地转换为PEM。

限制

  • 加密的OpenSSH私钥文件目前不支持,并引发错误。
  • OpenSSH支持的所有密钥格式并不都支持;最广泛的支持是RSA密钥。

需求

  • Python 3.7+

使用方法

使用您喜欢的工具将包安装到您的环境中。

如果您需要将密钥数据转换为PEM,还需要安装cryptography(或安装此包并使用带有convert额外功能的包,该功能依赖于该模块)。

基本API通过openssh_key.OpenSSHKeyFile.parse_text()提供,如下所示

from openssh_key import OpenSSHKeyFile

with open('my-openssh-format-private-key') as infp:
    kf = OpenSSHKeyFile.parse_text(infp)

for keypair in kf.decrypt_keypairs():
    print(keypair.public_key_string)  # as you'd find in `authorized_keys`

请参阅模块本身和测试以获取更多信息。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

openssh_key-0.3.0.tar.gz (6.2 kB 查看散列)

上传于 来源

构建分发版

openssh_key-0.3.0-py3-none-any.whl (8.5 kB 查看哈希值)

上传于 Python 3

由...