Fluent FTP 无法连接到 FTP 服务器

R.H*_*ton 2 c# ftp fluentftp

我正在尝试使用 Fluent FTP 连接到 FTP 服务器。当我使用端口 22 (SFTP) 时,使用 Filezilla 没有任何问题。

但是我无法使用 Fluent FTP 连接到它。

var client = new FtpClient(Constants.FtpHost, Constants.FtpUsername, Constants.FtpPassword)
        {
            // DataConnectionType = FtpDataConnectionType.PASV,
            // EncryptionMode = FtpEncryptionMode.Implicit,
            // SslProtocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12 | SslProtocols.Tls13,
            Port = 22
        };
        
Console.WriteLine("Connecting...");        
client.Connect();
Console.WriteLine("Connected");
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:无法从传输连接读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应

当我取消注释DataConnectionType = FtpDataConnectionType.PASV时,没有任何变化。当我取消注释EncryptionMode = FtpEncryptionMode.Implicit时,出现以下错误: System.IO.IOException:无法确定帧大小或收到损坏的帧。

我再次遇到 FileZilla 或 WinSCP 0 问题。

任何帮助将不胜感激。

Ale*_*dro 5

来自官方 GitHub 页面

不支持 SFTP,因为它是基于 SSH 的 FTP,这是一种完全不同的协议(使用 SSH.NET)

您正在尝试使用 FTP 库连接到 SFTP 服务器。尽管它们实现了相同的目标,但它们是两个完全不同的协议,没有任何共同点。为该服务器使用正确的 SFTP 库。

FileZilla 和 WinSCP 都支持 FTP 和 SFTP,这就是为什么您使用它们没有问题。