2016-03-28 11 views
1

Wie erstelle ich DSA openssh-formatierten öffentlichen Schlüssel mit einem bestimmten privaten Schlüssel?Openssh öffentliche Schlüssel von privaten Schlüsseln mit pycrypto erstellen

Die OpenSSH Public-Key-Format sieht wie folgt aus:

ssh-dss AAAAB3NzaC1kc3MAAACBAKFY7ysDwhMf5j3IOmPg1ztzAodBzQHua5m7/IM8nEYdCDeLzI+Jx24pRDUKseRVC5DUIHU7sRtRpCMDmGBcJwxHF9G4ofrP5hlUaDTHeKHrOKgGdRzPw5xtExImwYfCn97HMc6OpQrsAysL7KCxQHgD41t7IEaSQRjK8zK2IBqJAAAAFQD6Wjepos/lp0Vw8mrRLMIEhocZpQAAAIBXJ+E3J+dMOIHlYpEYm6BmI92/YhAT3+4rfDORQkUtcgmyQiAJ4CWvOBrcwK7zpLZ/pNNujv3cc4whigAqnZm9f+x8LDT7iIZ3FGdvHFDxYiTZVJTv2g1kaS/AABG5KfsVVkV2TP+XO12EjoEjoNvgjA1Z0fSeeKeP8YQNgMNjFgAAAIAobgPabsJCnFuazy+WOoo9SgfqeafXbrsxWPbKV4mjbUKXbOASV4F35Vuk1DAFRRP2/xYxv2QsiW4F2wsGSlsfnvb8bbmhzFHU81BrPRd1R60JUCDnvwVYJlJUqIvgfYbi3AXuxaqK3cLKWIFZGrYGyd2x8DRNpE7SLDMfWY7Jgw== [email protected] 

Mit PyCrypto, die gleiche Sache mit RSA funktioniert gut:

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

Leider kein exportkey Es gibt() Func für eine DSA Objekt.

Ich habe auch ein ähnliches Problem mit einem Ecdsa-Schlüssel. Unterm Strich, ich brauche eine gleichwertige Python (sowohl für DSA und ECDSA) zu:

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

Antwort

0

Der Ausdruck:

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

, um die DSA öffentlichen Schlüssel im OpenSSH-Format erhalten wird durch PyCryptodome unterstützt, ein PyCrypto Gabel.

Verwandte Themen