["python","ssh","putty","paramiko","public-key"]
How to ssh connect through Python Paramiko with ppk public key

I'm using Paramiko to connect through SSH to a server. Basic authentication works well, but I can't understand how to connect with public key. When I connect with PuTTY, the server tell me this: Using username "root". Authenticating with public key "rsa-key@ddddd.com" Passphrase for key "rsa-key@ddddd.com": [i've inserted the passphrase here] Last login: Mon Dec 5 09:25:18 2011 from ... I connect to it with this ppk file: PuTTY-User-Key-File-2: ssh-rsa Encryption: aes256-cbc Comment: rsa-key@dddd.com Public-Lines: 4 [4 lines key] Private-Lines: 8 [8 lines key] Private-MAC: [hash] With basic auth the error I get (from the log) is: DEB [20111205-09:48:44.328] thr=1 paramiko.transport: userauth is OK DEB [20111205-09:48:44.927] thr=1 paramiko.transport: Authentication type (password) not permitted. DEB [20111205-09:48:44.927] thr=1 paramiko.transport: Allowed methods: ['publickey', 'gssapi-with-mic'] I've tried to include that ppk file and set to auth_public_key, but didn't work. Can you help me?
Ok @Adam and @Kimvais were right, Paramiko cannot parse .ppk files. So the way to go (thanks to @JimB too) is to convert .ppk file to OpenSSH private key format; this can be achieved using PuTTYgen as described here. Then it's very simple getting connected with it: import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('<hostname>', username='<username>', password='<password>', key_filename='<path/to/openssh-private-key-file>') stdin, stdout, stderr = ssh.exec_command('ls') print stdout.readlines() ssh.close()