Cómo conectarse a SFTP a través de Paramiko con clave SSH – Pageant

Estoy intentando conectarme a un SFTP a través de Paramiko con una clave SSH protegida por contraseña. He cargado la clave en Pageant (que entiendo que es compatible con Paramiko) pero no puedo descifrar mi clave privada.

He encontrado este ejemplo aquí que hace referencia a allow_agent=True pero esto no parece ser un parámetro que pueda usarse con el SFTPClient .

¿Alguien puede avisar si es posible trabajar con Paramiko y Pageant de esta manera?

Este es mi código en este momento, lo que genera PasswordRequiredException

 privatekeyfile = 'path to key' mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile) transport = paramiko.Transport(('host', 'port')) transport.connect('username',pkey = mykey) sftp = paramiko.SFTPClient.from_transport(transport) 

PKey.from_private_key_file una frase de contraseña cuando cargue una clave encriptada utilizando el PKey.from_private_key_file .

Aunque tenga en cuenta que no tiene que cargar la clave en absoluto , cuando use el Pageant. Ese es el punto de usar un agente de autenticación. Pero solo la clase SSHClient compatible con el concurso. La clase de Transport no lo hace, por sí sola.

Puedes seguir el código en ¿Cómo usar Pageant con Paramiko en Windows?
Aunque como el allow_agent es True por defecto, en realidad no hay nada especial en el código.

Una vez conectado y autenticado, use el método SSHClient.open_sftp para obtener su instancia del SFTPClient .

 ssh = paramiko.SSHClient() ssh.connect(host, username='user', allow_agent=True) sftp = ssh.open_sftp() 

También necesitarás verificar la clave de host:
Paramiko “Servidor Desconocido”