我正在尝试编写一个脚本来生成 SSH 身份验证密钥对。
from M2Crypto import RSA
key = RSA.gen_key(1024, 65337)
key.save_key("/tmp/my.key", cipher=None)
现在,/tmp/my.key
文件看起来很好了。
通过运行 ssh-keygen -y -f /tmp/my.key > /tmp/my.key.pub
我可以提取公钥。
我的问题是如何使用Python提取公钥?使用 key.save_pub_key("/tmp/my.key.pub")
保存的内容类似于:
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADASDASDASDASDBarYRsmMazM1hd7a+u3QeMP
...
FZQ7Ic+BmmeWHvvVP4Yjyu1t6vAut7mKkaDeKbT3yiGVUgAEUaWMXqECAwEAAQ==
-----END PUBLIC KEY-----
当我在寻找像这样的东西时:
ssh-rsa AAAABCASDDBM$%3WEAv/3%$F ..... OSDFKJSL43$%^DFg==
65537
而不是65337
。前者更为常见。使用其他数字所带来的风险存在争议,但共识是 65537(即 2^16 + 1)是安全的。65337 不符合 NIST 标准。 - Zenexer