Library to work with SSH public keys

Darren Spruell phatbuckett at gmail.com
Sat Apr 6 01:49:26 EDT 2013


I'd like to work with user submitted/uploaded SSH public keys from
Python. I'm trying to solve what I'd thought might be a simple need:
given a user's OpenSSH formatted _public_ key (RSA, or DSA, or
whatever), how do you obtain information about it such as: key type
(e.g. ssh-rsa, etc.); bit length (e.g. 2048); key comment (e.g.
user at hostname); key fingerprint? I've been fiddling with the Paramiko
API and looked at PyCrypto (supports OpenSSH keys) and Twisted Conch
but didn't see anything that looked like it did this.

I'm looking for the equivalent to this:

$ ssh-keygen -l -f tmp.key.pub
2048 9b:31:06:6a:a4:79:97:33:d7:20:15:1f:cd:b4:86:4d dspruell at Sydney.local (RSA)

...to get the attributes of the public key: key type, bit length,
fingerprint and comment.

Is there an SSH library capable of doing this from Python? Can break
out to shell commands to parse them but I'd prefer not to.

-- 
Darren Spruell
phatbuckett at gmail.com



More information about the Python-list mailing list