Perpustakaan SFTP untuk .NET [ditutup]

109

Adakah yang bisa merekomendasikan perpustakaan SFTP yang baik untuk digunakan? Saat ini saya sedang melihat produk-produk seperti SecureBlackbox, IPWorks SSH, WodSFTP, dan Rebex SFTP. Namun, saya belum pernah menggunakan pustaka SFTP sebelumnya, jadi saya tidak yakin apa yang saya cari.

Jika ada yang pernah menggunakan ini sebelumnya, apakah ada alasan mengapa saya harus menggunakan produk "X" daripada "Y"?

Kiquenet
sumber
Apakah ada pustaka SFTP yang dilisensikan di bawah MIT?
Yash Saraiya
Anda dapat memeriksa ulasan rinci untuk Komponen SFTP untuk NET thedownloadplanet.com/reviews/…
alexanoid

Jawaban:

87

Saya telah mencari-cari dan menemukan itu garpu SharpSSH inidan SSH.NET adalah pustaka terbaru dan terawat terbaik untuk komunikasi SFTP (jangan disamakan dengan FTPS ) di .NET. SSH.NET adalah implementasi .NET 4.0 yang bersih dari protokol SFTP, dan saya telah menggunakannya dalam beberapa solusi dengan kesuksesan besar.

Asli SharpSsh tampaknya sudah mati dan sebagian besar solusi lain memerlukan penginstalan Windows yang dapat dieksekusi atau banyak uang (atau lebih buruk; keduanya).

Asbjørn Ulsberg
sumber
6
Saya juga menggunakan SSH.NET ( sshnet.codeplex.com ) dan merasa sangat bagus.
Alex
10
Saya menemukan SSH.NET menjadi buggy langsung dari kelelawar. Memeriksa file / dir ada selalu mengembalikan nilai true. Banyaknya masalah terbuka dan suara positif dalam daftar masalah membuat saya berhenti dari proyek tersebut.
Ronnie Overby
1
@RonnieOverby Saya mencari masalah yang Anda sebutkan tentang file / dir ada, dan masalah tersebut tidak ada lagi. Saya menulis kode untuk menguji SSH.NET dan berfungsi seperti yang diharapkan.
Colin
4
The SharpSSH garpu mati juga (terakhir diperbarui pada bulan September 2012).
Martin Prikryl
3
Terima Kasih, Setelah membandingkan SSH.NET tampaknya lebih bersih dan lebih mudah digunakan. Saya akan memperbarui jawaban saya setelah saya menyelesaikan proyek tempat saya menggunakannya. Terima kasih,
Nour Lababidi
52

Kami menggunakan WinSCP. Gratis. Ini bukan lib, tetapi memiliki antarmuka baris perintah berfitur lengkap dan terdokumentasi dengan baik yang dapat Anda gunakan dengan Process.Start.

Pembaruan: dengan v.5.0, WinSCP memiliki pustaka pembungkus .NET ke lapisan skrip WinSCP.

Jim
sumber
1
Kelihatannya cukup bagus bagi saya: winscp.net/eng/docs/library#example
Jon Cage
4
Saya berhasil menggunakan rakitan WinSCP .NET (winscpnet.dll), pembungkus pada antarmuka scripting WinSCP. Ya, sungguh, itu didokumentasikan dengan baik. Ini memiliki banyak contoh. Jika Anda mengirimkan parameter yang salah, pembungkus akan memunculkan pengecualian yang merinci apa yang salah. Saya butuh beberapa kali trial and error untuk mendapatkan parameter yang benar, bukan kesalahan WinSCP, hanya kebingungan saya antara ftps dan sftp. Juga, ingatlah untuk menyalin WinSCP.exe ke folder bin aplikasi; atau Anda bisa menyetel Session.ExecutablePath sebelum memanggil Session.Open ().
Edward
WinSCP dilisensikan di bawah GPL. Apakah ada hal yang dapat saya kerjakan dengan lisensi di bawah MIT?
Yash Saraiya
1
@YashSaraiya WinSCP .NET assembly dilisensikan di bawah MPL 2.0 , bukan GPL.
Martin Prikryl
1
Tidak bagus, winscp terkait dengan .exe, yang dihindari untuk pengembangan multi platform.
Alwyn
9

Lihat ini: http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH adalah implementasi NET murni dari rangkaian protokol klien SSH2. Ini menyediakan API untuk komunikasi dengan server SSH dan dapat diintegrasikan ke dalam aplikasi .NET apa pun.

Library ini adalah C # port dari proyek JSch dari JCraft Inc. dan dirilis di bawah lisensi gaya BSD.

SharpSSH memungkinkan Anda untuk membaca / menulis data dan mentransfer file melalui saluran SSH menggunakan API yang mirip dengan API JSch. Selain itu, ini menyediakan beberapa kelas pembungkus tambahan yang menawarkan abstraksi yang lebih sederhana untuk komunikasi SSH.

Halaman proyek SharpSSH di source forge: http://sourceforge.net/projects/sharpssh

GEOCHET
sumber
9
hal-hal keren, tetapi belum diperbarui sejak 2007, perlu sesuatu untuk .net 4
Johnny_D
1
Lihat jawaban saya untuk sesuatu yang diperbarui dan dipertahankan secara aktif.
Asbjørn Ulsberg
10
Saya menggunakan perpustakaan ini dan tidak merekomendasikannya. Ini berfungsi, tetapi rasanya seperti port yang tidak lengkap: beberapa fitur hilang di kelas tingkat atas (menguji apakah file ada IIRC), dan saya harus memanggil metode pada bidang pribadi untuk membuatnya bekerja; potongan kode Java yang diberi komentar di sumbernya; kelas pembungkus dinamai sesuai dengan yang ada di perpustakaan standar Java; Seluruh idiom Jawa. Saya telah menggunakan SSH.NET sebagai gantinya (seperti dalam posting @ asbjornu) dengan sukses besar.
Alex
8

Kami membeli Paket Transfer File Rebex , dan semuanya baik-baik saja. API ini mudah, kami tidak memiliki masalah dengan komunikasi, server proxy, dll ...

Tapi saya belum sempat membandingkannya dengan komponen SFTP / FTPS lainnya.

TcKs
sumber
Harap dicatat bahwa SFTP dan FTPS bukanlah protokol yang sama.
Trent
6

Bitvise memiliki produk hebat bernama Tunnelier yang dapat menjembatani FTP ke SFTP. Anda kemudian dapat menggunakan FtpWebRequest standar di .NET.

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

Saya sedang menguji ini untuk tujuan saya sendiri dan akan memperbarui dengan temuan saya.

memperbarui

Ide ini tidak ideal untuk otomatisasi tanpa pengawasan, kecuali jika Anda ingin melewati rintangan agar klien tetap terhubung sebagai layanan atau sesuatu, yang saya capai dengan menggunakan NSSM .

Saya telah mencoba otomatisasi CLI dengan berbagai klien termasuk bitvise dan winscp.com. Saya juga mencoba pustaka kelas .net ini: Winscp, SSH.NET, SharpSSH, dan klien komersial SecureBlackBox SFTP.

SecureBlackBox bekerja dengan baik, tetapi sangat berat, bisa sangat mahal tergantung pada lisensinya, dan saya tidak begitu setuju dengan API-nya.

Hands down, klien sftp gratis terbaik untuk pengembangan .NET adalah Winscp . Saya telah menulis beberapa kelas dan metode ekstensi untuk membuatnya bekerja lebih mudah: Winscp.Extensions

Ronnie Overby
sumber
4

Saya telah menggunakan perpustakaan SFTP asli Chilkat ( http://www.chilkatsoft.com/ssh-sftp-component.asp ) selama beberapa bulan sekarang dan ini bekerja dengan baik. Telah menggunakannya dalam pekerjaan malam untuk mengunduh file besar dan melakukan otentikasi kunci pribadi. Satu-satunya masalah yang saya miliki adalah mendapatkan versi 64bit untuk bekerja di windows server 2008, saya perlu menginstal vcredist_x64.exe ( http://www.microsoft.com/download/en/details.aspx?id=14632 ) di server saya .

Rocklan
sumber
2
Chilkat bukan 100% kode yang dikelola. Ini adalah perpustakaan asli yang dibungkus dengan .NET. Ketika kami memasukkan pustaka ini, perancang web studio visual rusak karena VS berjalan dalam mode 32-bit. Kami harus membuat semua penyelesaian ini antara dev dan prod (yang dalam 64-bit) sehingga dapat menggunakan DLL yang tepat, tidak menyenangkan. Penyelesaiannya
Chris Smith
0

Untuk dukungan SFTP yang komprehensif di .NET coba edtFTPnet / PRO . Sudah ada sejak lama dengan dukungan untuk banyak server SFTP yang berbeda.

Kami juga menjual server SFTP untuk Windows, CompleteFTP , yang merupakan cara murah untuk mendapatkan dukungan untuk SFTP di mesin Windows Anda. Juga memiliki FTP dan FTPS.

Bruce Blackshaw
sumber
Saya telah menggunakan perpustakaan edtFTPnet untuk beberapa waktu - berfungsi dengan baik tetapi dokumentasi untuk pengikatan .net tidak bagus.
Jon Cage
0

Saya telah menggunakan IP * Works SSH dan itu bagus. Mudah diatur dan digunakan. Plus, dukungan mereka sangat baik saat Anda mengalami pertanyaan atau masalah.

Briggs
sumber