如何在 C# 中使用 sftp [重复]
Posted
技术标签:
【中文标题】如何在 C# 中使用 sftp [重复]【英文标题】:How to use sftp in C# [duplicate] 【发布时间】:2011-12-26 21:22:06 【问题描述】:可能重复:How do I upload a file to an SFTP server in C# / .NET?
.net 是否支持 sftp?
我在网上找不到任何示例。
【问题讨论】:
这并不能直接回答您的问题,因为它是 ftps 的客户端,但它确实为 ftp 相关信息提供了有用的背景ftps.codeplex.com 这不再是重复的,因为旧问题被关闭为非建设性 - 尽管我不明白为什么。 SFTP 在 .NET 中不存在。就个人而言,我正在使用componentpro.com/sftp.net 库。 【参考方案1】:我们使用SharpSSH 进行sftp,它运行良好并且是开源的。
代码示例:
sftp = new Tamir.SharpSsh.Sftp(ipAddress, username, password);
sftp.Connect();
sftp.Get(sourcePath, destinationPath);
sftp.Close();
【讨论】:
sftp 不好。首先,它不支持 64 位(不过,这是某些博客上的自定义)。二、get文件不保留原文件日期 我强烈推荐使用 sshnet.codeplex.com 而不是 SharpSSH。 SharpSSH 似乎不再被积极维护,而且相当粗糙。正因为如此,SSH.NET 应运而生。 是否有任何可用于 .NET 的积极维护的 SFTP 客户端?我需要一个在 .NET 4.5 及更高版本下也可靠的 OpenSource Lib(根据 sshnet.codeplex.com,它们只支持最高 4.0)。【参考方案2】:我们在项目中成功地使用了Rebex components(FTP、S-FTP、FTP-S)。不过,它们是商业用途。
【讨论】:
Rebex 的东西真的很棒,他们的客户支持也是一流的。当我不得不连接一个不符合当前 FTPS 标准的 FTPS 服务器时,他们创建了一个可以免费与之通信的组件版本。以上是关于如何在 C# 中使用 sftp [重复]的主要内容,如果未能解决你的问题,请参考以下文章