【问题标题】:SharpSSH: The requested name is valid, but no data of the requested type was foundSharpSSH:请求的名称有效,但未找到请求类型的数据
【发布时间】:2026-02-16 23:55:02
【问题描述】:

我正在尝试使用 SharpSSH 连接到 SFTP 服务器,但出现异常 -

Tamir.SharpSsh.jsch.JSchException: System.Net.Sockets.SocketException: 请求的名称有效,但未找到请求类型的数据

我的代码如下所示:

Sftp sftp = null;
sftp = new Sftp("ftp://XX.XXX.XX.XX/", "UserName", "Password");
sftp.Connect();

我是否以错误的格式写入服务器地址?
另一个原因是什么?如果 DNS 问题.. 那么这些是什么以及如何解决它们?

【问题讨论】:

    标签: c# iis ftp sftp sharpssh


    【解决方案1】:
    1. 不要使用 SharpSSH,这是一个死项目。使用一些维护的 SFTP 库。见SFTP Libraries for .NET
    2. Sftp 类的第一个参数称为sftpHost,因此不能传递 URL,必须传递主机名,即只能传递 XX.XXX.XX.XX
    3. SharpSSH 是 SFTP/SSH 库,而不是 FTP。如果你真的需要连接到 FTP,你不能使用 SharpSSH。
    4. IIS 确实不支持 SFTP。它仅支持 FTP(和 FTPS = FTP over TLS/SSL)。见Is IIS SFTP natively supported by Windows?
      对于 FTPS/FTPS,请使用 .NET 框架中的 FtpWebRequest

    【讨论】:

      最近更新 更多