SFTP библиотеки для.NET

Кто-нибудь может порекомендовать хорошую библиотеку SFTP для использования? Сейчас я смотрю на такие продукты, как SecureBlackbox, IPWorks SSH, WodSFTP и Rebex SFTP. Тем не менее, я никогда раньше не использовал библиотеки SFTP, поэтому я не уверен, что я ищу.

Если кто-то использовал их раньше, есть ли какая-то причина, почему я должен использовать продукт "X" вместо "Y"?

8 ответов

Я искал и обнаружил, что этот форк SharpSSH и SSH.NET - самые современные и лучше всего поддерживаемые библиотеки для связи SFTP (не путать с FTPS) в.NET. SSH.NET - это чистая.NET 4.0 реализация протокола SFTP, и я использовал его в нескольких решениях с плавающими цветами и большим успехом.

Оригинальный SharpSsh кажется мертвым, и для большинства других решений требуется либо установка исполняемых файлов Windows, либо куча денег (или, что еще хуже, оба варианта).

Мы используем WinSCP. Это бесплатно. Это не библиотека, но имеет хорошо документированный и полнофункциональный интерфейс командной строки, который вы можете использовать с Process.Start.

Обновление: в версии 5.0 WinSCP имеет библиотеку-оболочку.NET для уровня сценариев WinSCP.

Проверьте это: http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH - это чистая.NET-реализация набора клиентских протоколов SSH2. Он предоставляет API для связи с серверами SSH и может быть интегрирован в любое приложение.NET.

Библиотека является портом C# проекта JSch от JCraft Inc. и выпущена под лицензией в стиле BSD.

SharpSSH позволяет читать / записывать данные и передавать файлы по каналам SSH, используя API, аналогичный API JSch. Кроме того, он предоставляет некоторые дополнительные классы-обертки, которые предлагают еще более простую абстракцию для связи SSH.

Страница проекта SharpSSH в исходной кузнице: http://sourceforge.net/projects/sharpssh

Мы купили пакет передачи файлов Rebex, и все в порядке. API прост, у нас нет проблем с коммуникациями, прокси-серверами и т. Д.

Но у меня нет шансов сравнить его с другим компонентом SFTP/FTPS.

У Bitvise есть отличный продукт под названием Tunnelier, который может соединить FTP и SFTP. Затем вы можете использовать стандартный FtpWebRequest в.NET.

http://www.bitvise.com/ftp-bridge

В настоящее время я проверяю это для своих собственных целей и буду обновлять мои выводы.

Обновить

Эта идея не идеальна для автоматической автоматизации, если вы не хотите прыгать через обручи, сохраняя клиент подключенным как сервис или что-то еще, что я достиг с помощью NSSM.

Я пробовал автоматизацию CLI с различными клиентами, включая bitvise и winscp.com. Я также попробовал следующие библиотеки классов.net: Winscp, SSH.NET, SharpSSH и коммерческий SFTP-клиент SecureBlackBox.

SecureBlackBox работал хорошо, но он очень тяжелый, может быть довольно дорогим в зависимости от лицензирования, и я не очень согласился с его API.

Руки вниз, лучший бесплатный клиент sftp для разработки.NET - это winscp. Я написал несколько классов и методов расширения, чтобы облегчить работу с ним: Winscp.Extensions

Я использую нативную SFTP-библиотеку Chilkat ( http://www.chilkatsoft.com/ssh-sftp-component.asp) уже несколько месяцев, и она прекрасно работает. Использовать его в ночной работе для загрузки больших файлов и проверки подлинности с помощью закрытого ключа. Единственная проблема, с которой я столкнулся, - заставить 64-битную версию работать на Windows Server 2008, мне нужно было установить vcredist_x64.exe ( http://www.microsoft.com/download/en/details.aspx?id=14632) на моем сервере.,

Для всесторонней поддержки SFTP в.NET попробуйте edtFTPnet / PRO. Это было давно с поддержкой множества различных SFTP-серверов.

Мы также продаем SFTP-сервер для Windows, CompleteFTP, который является недорогим способом получить поддержку SFTP на вашем компьютере с Windows. Также есть FTP и FTPS.

Я использовал IP*Works SSH, и это здорово. Простота установки и использования. Кроме того, их поддержка на высшем уровне, когда вы сталкиваетесь с вопросами или проблемами.

Другие вопросы по тегам