.NET 的 SFTP 库?

SFTP library for .NET?

我正在寻找一个可以在 .NET 4.5x 解决方案中使用的库,给定一个 SFTP URL、用户名和密码,我就可以连接到远程 sftp 服务器并下载文件.图书馆应该...

  1. 自由

  2. 提供有关如何使用它的示例或文档

有什么建议吗?

谢谢!

我目前使用 WinSCP。它有一个 .NET 程序集,可用于以编程方式创建和管理 SFTP、SCP、FTP 和 WebDAV 连接。

这是他们文档中的一个示例:

using System;
using WinSCP;

class Example
{
    public static int Main()
    {
        try
        {
            // Setup session options
            SessionOptions sessionOptions = new SessionOptions
            {
                Protocol = Protocol.Sftp,
                HostName = "example.com",
                UserName = "user",
                Password = "mypassword",
                SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
            };

            using (Session session = new Session())
            {
                // Connect
                session.Open(sessionOptions);

                // Upload files
                TransferOptions transferOptions = new TransferOptions();
                transferOptions.TransferMode = TransferMode.Binary;

                TransferOperationResult transferResult;
                transferResult = session.PutFiles(@"d:\toupload\*", "/home/user/", false, transferOptions);

                // Throw on any error
                transferResult.Check();

                // Print results
                foreach (TransferEventArgs transfer in transferResult.Transfers)
                {
                    Console.WriteLine("Upload of {0} succeeded", transfer.FileName);
                }
            }

            return 0;
        }
        catch (Exception e)
        {
            Console.WriteLine("Error: {0}", e);
            return 1;
        }
    }
}