Estoy intentando conectarme a un servidor SFTP para un cliente nuestro y enviar archivos en un proceso automatizado usando MS Windows. Los detalles que he recibido del cliente no incluyen la contraseña. En cambio, tengo el par de claves pública-privada usando PuTTY.
La cadena de conexión típica utilizada es la siguiente
open sftp://username:password.SFTPURL:port -hostkey="ssh-dss 1024 XXXXXXX"
Sin embargo, no entiendo cómo especificar la clave privada en este sentido, en lugar de la contraseña. ¿Cómo le digo al script dónde se encuentra la clave privada? ¿Hay alguna palabra clave en particular para usar al conectarme usando la clave pública?
Soy nuevo en esto así que tengan paciencia conmigo.
¡Gracias!
Respuesta1
¿Se proporciona la herramienta de cliente SFTP o puede utilizar una de su elección? Porque si tienes la libertad de elegir, te recomiendo que pruebes.¡Secuencia de comandos FTP de Syncplify.me!, que te permite escribir scripts como este,usando autenticación de clave pública sin contraseña:
var
Cli: TSFTPClient;
begin
Cli := TSFTPClient.Create;
try
Cli.ServerAddr := 'your.remote.host';
Cli.Username := 'username';
Cli.AddPK('c:\user_key.rsa');
if Cli.Open then
begin
// Add your code here...
// ...
Cli.Close;
end;
finally
Cli.Free;
end;
end.