Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SFTP mit Indy (https://www.delphipraxis.net/67911-sftp-mit-indy.html)

Delphi-Freak 21. Apr 2006 18:01


SFTP mit Indy
 
Wie der Titel schon sagt, versuche ich, eine SFTP-Verbindung mit den Indys (TIdFTP im Konkreten) aufzubauen.
Ich verwende bzw. versuche momentan folgenden Code:
Delphi-Quellcode:
FTPClient.Username := LoginForm.EUser.Text;
FTPClient.Password := LoginForm.EPass.Text;
FTPClient.Host := EHost.Text;
FTPClient.Port := StrToInt(EPort.Text);
FTPClient.IOHandler := TIdSSLIOHandlerSocketBase.Create;
FTPClient.UseTLS := TIdUseTLS(LoginForm.CBTLS.ItemIndex);
FTPClient.AUTHCmd := TAuthCmd(LoginForm.CBAuth.ItemIndex);
FTPClient.DataPortProtection := ftpdpsPrivate;
FTPClient.Connect;
TIdSSLIOHandlerSocketBase(FTPClient.IOHandler).StartSSL;
Dabei ist dann UseTLS utUseImplicitTLS und AUTHCmd tAuto.
Das Programm friert nur immer ein, ich habe schon alles Mögliche ausprobiert, aber leider immer erfolglos...

LG, ich

Delphi-Freak 22. Apr 2006 15:05

Re: SFTP mit Indy
 
Liste der Anhänge anzeigen (Anzahl: 1)
Soviel ich auch herumprobiere, ich bringe es nicht hin :cry:
Ich habe jetzt einmal ein Test-Projekt gemacht (Anhang), aber das Programm friert immer für eine Minute oder so ein und sagt dann "Connection Closed Gracefully" (also ich habe nicht immer solange gewartet)...
Ich habe das auch auf einen SFTP-Server im Netzwerk ausprobiert und es mir mit Ethereal angeschaut, aber es kommt gar kein Traffic :pale:
Ich hoffe ihr könnt mir helfen, vlt. ist es aber auch ein Verständnis-Problem: Werden bei SFTP eh die gleichen Commands (CWD, CDUP, TYPE, PORT etc.)?

LG, ich

Basilikum 22. Apr 2006 16:36

Re: SFTP mit Indy
 
SFTP ist leider nicht gleich SFTP... du verwendest Port 22, dies impliziert bei mir SSH... verwendest du einen "normalen" FTP-Server mit vorgeschaltetem SSH-Tunnel ?
du verwendest weiter Explicit-TLS (utUseExplicitTLS), sprich: der Client connected ganz herkömmlich und unverschlüsselt und leitet dann mittels Command 'AUTH TLS' die SSL-Negotiation ein...
gib doch mal einige Informationen über den Server bekannt, dann kommen wir besser weiter....

der Server ftp.bits-n.net (Anonymous-Login) unterstützt SSL/TLS Implicit (Port 990) und Explicit (Port 21)... teste doch mal dort, so kannst du Probleme bei deinem Server ausschliessen...

Delphi-Freak 22. Apr 2006 16:46

Re: SFTP mit Indy
 
Das Problem ist, dass ich mich nicht wirklich gut mit SFTP/SSH etc. auskenne. Ich verwende lokal zum Testen OpenSSH. Mit WinSCP habe ich das Connecten auch schon probiert, dort es geht mit Port 22 :gruebel:
Danke aber auf jeden Fall, mit dem ftp.bits-n.net-Server funktioniert es...
*hoffnungschöpf* :mrgreen:

LG, ich

Basilikum 22. Apr 2006 16:56

Re: SFTP mit Indy
 
SSH wiederum ist nicht gleich SSL/TLS... :-)

ich habe zwischenzeitlich idFTP.pas etwas betrachtet (Delphi 7-Version)... irgendwie haben die dort den Support für SSL komplett weggelassen... (wenn du mir die Version, die du verwendest - die offensichtlich mehr Support für SSL bietet - kurz zukommen lassen könntest, würde ich diese mal ansehen)

BTW: das Property
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode
müsste sslmClient sein

Delphi-Freak 22. Apr 2006 17:08

Re: SFTP mit Indy
 
Zitat:

Zitat von Basilikum
SSH wiederum ist nicht gleich SSL/TLS... :-)

Ah, SSH ist ja der Tunnel, wenn man FTP über SSL (und nicht SFTP) verwendet, oder verwechsle ich das auch?
Zitat:

Zitat von Basilikum
BTW: das Property
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode
müsste sslmClient sein

Es funktioniert aber leider mit dem auch nicht :(

LG, ich

Basilikum 22. Apr 2006 17:34

Re: SFTP mit Indy
 
Zitat:

Zitat von Delphi-Freak
Zitat:

Zitat von Basilikum
SSH wiederum ist nicht gleich SSL/TLS... :-)

Ah, SSH ist ja der Tunnel, wenn man FTP über SSL (und nicht SFTP) verwendet, oder verwechsle ich das auch?

also entweder 'File transfer per SSH' (SFTP) oder 'FTP über SSL/TLS' (FTPS): 2 komplett unterschiedliche, inkompatible Varianten !

SFTP ist ein eigenes Protokol und hat eigentlich mit FTP nicht direkt etwas zu tun... (bis auf die Abkürzung)
http://en.wikipedia.org/wiki/SSH_file_transfer_protocol

FTPS ist "einfach" eine Erweiterung zu FTP, womit sämtliche TCP-Connections per SSL verschlüsselt werden, jedoch das selbe Vorgehen/Ablauf wie bei normalem FTP... (ftp.bits-n.net unterstützt diesen Modus)
http://en.wikipedia.org/wiki/FTPS


Zitat:

Zitat von Delphi-Freak
Zitat:

Zitat von Basilikum
BTW: das Property
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode
müsste sslmClient sein

Es funktioniert aber leider mit dem auch nicht :(

ich vermute, dass nur mit den Indys kein SFTP möglich ist (mangels entsprechendem Support)...

Delphi-Freak 22. Apr 2006 18:03

Re: SFTP mit Indy
 
Also mit den Indys funktioniert nur FTPS, wenn ich das jetzt richtig verstanden habe? :roll:
Und SFTP, verwendet das eigentlich die gleichen Befehle wie FTP (CWD, CDUP, LIST etc.)? Oder sind das gar keine "Text-Befehle"?
Und welches ist das meist verwendete - SFTP oder FTPS?

LG, ich

Basilikum 22. Apr 2006 18:18

Re: SFTP mit Indy
 
Zitat:

Zitat von Delphi-Freak
Also mit den Indys funktioniert nur FTPS, wenn ich das jetzt richtig verstanden habe? :roll:

ja, kein SFTP mit Indy

Zitat:

Zitat von Delphi-Freak
Und SFTP, verwendet das eigentlich die gleichen Befehle wie FTP (CWD, CDUP, LIST etc.)? Oder sind das gar keine "Text-Befehle"?

SFTP ist ein "binäres" Format

Zitat:

Zitat von Delphi-Freak
Und welches ist das meist verwendete - SFTP oder FTPS?

da wird es wohl keine abschliessende Anwort geben... ich verwende FTPS - dies wird von einigen guten Windows-Client-Applikationen unterstützt (z.B. CuteFTP, SmartFTP)...
abgesehen davon ist FTPS imho einfacher zu implementieren als SFTP...

Delphi-Freak 22. Apr 2006 18:26

Re: SFTP mit Indy
 
Dann dir nocheinmal ein ganz großes DANKE :thumb:
und ich werde mir dann vlt. eine andere Lösung (mit einer anderen Komponente) anschauen, oder SFTP eben gar nicht implementieren :? ...

LG, ich


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz