Как генерировать пары ключей SSH с Python - PullRequest
30 голосов
/ 18 марта 2010

Я пытаюсь написать скрипт для генерации пар ключей идентификации 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==

Ответы [ 11 ]

0 голосов
/ 18 марта 2010

Можете ли вы извлечь строку AAAA ... Dfg == из нее, пока она является объектом? Если это так, вы можете просто открыть файл самостоятельно и сохранить его вместо использования встроенной функции save_pub_key.

...