Closed AndreBrandao1972 closed 7 months ago
?: UploadStream - there is no such method, maybe you have another library?
SFTP := TSFTPClient.Create ... //SFTP.CodePage := CP_UTF8; // UTF-8 is default. lArquivo not needed convertion to UTF-8 SFTP.Put({Source:}UploadStream, {DestFile:}, lArquivo, {Overwrite:}False);
Obrigado amigo,
Ele esta forçando a pedir password para acessar o SFTP , porem utilizo Private key Path, como configuro para acessar com password empty ?
property PublicKeyPath: TFileName read FPubKeyPath write FPubKeyPath;
property PrivateKeyPath: TFileName read FPrivKeyPath write FPrivKeyPath;
property PrivKeyPassPhrase: string read FPrivKeyPass write FPrivKeyPass;
demo\Unit3.pas
SFTP.PublicKeyPath := edPkey.Text; SFTP.PrivateKeyPath := edPrivkey.Text; SFTP.PrivKeyPassPhrase := edPrivkpass.Text;
Sim usei essas variaveis no programa DEMO, porem o programa pede outro password
Conforme tela ou clicar em CONNECT
It is demo.
In real you can clean it event:
SFTP.OnKeybdInteractive := nil;
or like it:
procedure TForm3.OnKeybdInteractive(ASender: TObject; var Password: String);
begin
if AllowPromptPassword then
InputQuery('Enter password for kybdinteractive', 'Password', Password);
end;
O Objetivo é utilizar a Private Key path. Qual desse modos de conexão devo utilzar ? Só existe a Public Key!
[amPassword]; [amKeyboardInteractive]; [amPublicKey]; [amPublicKeyViaAgent];
Nenhum dessas funciona.
Utilizo o WinSCP e funciona corretamente.. o que preciso fazer pra conectar com apenas a chave privada.
SFTP.DebugMode := True;
if SFTP.Password <> ''
then SFTP.AuthModes := [amPassword, amPublicKey]
else SFTP.AuthModes := [amPublicKey];
SFTP.PrivKeyPassPhrase := 'mypassword';
SFTP.PrivateKeyPath := 'my_openssh_enc.ppk';
my_openssh_enc.ppk
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,A34E55AD03535CD8
... ... ...
-----END RSA PRIVATE KEY-----
Seee event log. For login over pub/priv keys need debug/trace UserAuthPKey(
uMySFTPClient.pas
... libssh2_userauth_publickey_fromfile_ex ...
if not Result then CacheLastSSHError(R);
if (not Result) and ADebugMode then log('Failed auth: ' + sError);
Não temos essa chave (SFTP.PrivKeyPassPhrase := 'mypassword') para conectar no WINSCP não precisa dela.
Eu Desisto, esse componente não funcionou pra mim.
Ola,
Estou com problema de envio de arquivos usando o comando PSFTP.UploadStream, ele so aceita arquivos textos com mesmo de 64kb, como podemos solucionar esta situação ?