处理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 查看哈希值)