.NET için SFTP Kitaplıkları [kapalı]


109

Herkes iyi bir SFTP kitaplığının kullanılmasını önerebilir mi? Şu anda SecureBlackbox, IPWorks SSH, WodSFTP ve Rebex SFTP gibi ürünlere bakıyorum. Ancak, daha önce hiç SFTP kitaplığı kullanmadım, bu yüzden ne aradığımdan emin değilim.

Bunları daha önce kullandıysa, "Y" yerine "X" ürününü kullanmam için herhangi bir neden var mı?



MIT altında lisanslanmış bir SFTP kitaplığı var mı?
Yash Saraiya

NET için SFTP Bileşeninin ayrıntılı incelemesini kontrol edebilirsiniz thedownloadplanet.com/reviews/…
alexanoid

Yanıtlar:


87

Etrafı araştırdım ve buldum SharpSSH'nin bu çatalıve SSH.NET , .NET'te SFTP ( FTPS ile karıştırılmamalıdır ) iletişimi için en güncel ve en iyi korunan kitaplıklardır . SSH.NET, SFTP protokolünün temiz bir .NET 4.0 uygulamasıdır ve ben onu birkaç çözümde kullandım ve çok başarılı ve başarılı.

Orijinal SharpSsh Görünüşe göre çalışmıyor ve diğer çözümlerin çoğu ya Windows çalıştırılabilirlerinin yüklenmesini ya da bir yığın nakit para (ya da daha kötüsü; her ikisi) gerektiriyor.


6
Ayrıca SSH.NET ( sshnet.codeplex.com ) kullandım ve mükemmel buldum.
Alex

10
SSH.NET'i yarasanın hemen dışında buldum. Dosya / dizini kontrol etmek her zaman doğru döndürdü. Sorun listesindeki birçok açık ve olumlu oylama beni projeden uzaklaştırdı.
Ronnie Overby

1
@RonnieOverby file / dir ile ilgili bahsettiğiniz sorunu aradım ve sorun artık yok. SSH.NET'i test etmek için kod yazdım ve beklendiği gibi çalışıyor.
Colin

4
SharpSSH çatal (son Eylül 2012'de güncellendi) da öldü.
Martin Prikryl

3
Teşekkürler, Onları karşılaştırdıktan sonra SSH.NET daha temiz ve kullanımı daha kolay görünüyor. Cevabımı, onları kullandığım projeyi bitirdikten sonra güncelleyeceğim. Teşekkürler,
Nour Lababidi

52

WinSCP kullanıyoruz. Bedava. Kitaplık değildir, ancak Process.Start ile kullanabileceğiniz iyi belgelenmiş ve tam özellikli bir komut satırı arayüzüne sahiptir.

Güncelleme: v.5.0 ile WinSCP, WinSCP'nin komut dosyası katmanına yönelik bir .NET sarmalayıcı kitaplığına sahiptir.


1
Bana oldukça iyi görünüyor: winscp.net/eng/docs/library#example
Jon Cage

4
WinSCP .NET derlemesini (winscpnet.dll), WinSCP komut dosyası arabiriminde sarmalayıcıyı başarıyla kullandım. Evet, gerçekten çok iyi belgelenmiştir. Birçok örneği var. Yanlış parametreler iletirseniz, sarmalayıcı neyin yanlış olduğunu açıklayan bir istisna atar. Parametreleri doğru bir şekilde almam biraz deneme yanılma aldı, WinSCP'de hata yok, sadece ftps ve sftp arasındaki kafa karışıklığım. Ayrıca, WinSCP.exe'yi uygulama kutusu klasörüne kopyalamayı unutmayın; veya Session.Open () öğesini çağırmadan önce Session.ExecutablePath'i ayarlayabilirsiniz.
Edward

WinSCP, GPL altında lisanslanmıştır. MIT altında lisanslı olarak çalışabileceğim herhangi bir şey var mı?
Yash Saraiya

1
@YashSaraiya WinSCP .NET derlemesi GPL değil MPL 2.0 altında lisanslanmıştır.
Martin Prikryl

1
Hiç iyi değil, winscp, çoklu platform geliştirme için tehlikeli olan .exe'ye bağlı.
Alwyn

9

Şuna bir göz atın: http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH, SSH2 istemci protokol paketinin saf bir .NET uygulamasıdır. SSH sunucuları ile iletişim için bir API sağlar ve herhangi bir .NET uygulamasına entegre edilebilir.

Kitaplık, JCraft Inc.'den JSch projesinin bir C # bağlantı noktasıdır ve BSD stili lisans altında yayınlanmıştır.

SharpSSH, JSch API'sine benzer bir API kullanarak SSH kanalları üzerinden veri okumanıza / yazmanıza ve dosyaları aktarmanıza olanak tanır. Ek olarak, SSH iletişimi için daha da basit bir soyutlama sunan bazı ek sarmalayıcı sınıfları sağlar.

Kaynak formasyonundaki SharpSSH proje sayfası: http://sourceforge.net/projects/sharpssh


9
harika şeyler, ancak 2007'den beri güncellenmemiş, .net 4 için smth gerekiyor
Johnny_D

1
Güncellenen ve aktif olarak bakımı yapılan bir şey için cevabımı görün.
Asbjørn Ulsberg

10
Bu kütüphaneyi kullandım ve tavsiye etmiyorum. İşe yaradı, ancak eksik bir bağlantı noktası gibi geldi: üst düzey sınıflarda bazı özellikler eksikti (dosyaların IIRC olup olmadığını test etmek) ve onları çalıştırmak için özel alanlarda yöntemler çağırmak zorunda kaldım; kaynakta bırakılan yorumlanmış Java kodu parçaları; Java standart kitaplığındakilerden sonra adlandırılan sarmalayıcı sınıfları; Java deyimleri boyunca. Onun yerine SSH.NET kullandım (@ asbjornu'nun gönderisinde olduğu gibi) büyük bir başarıyla.
Alex

8

Rebex satın aldık File Transfer Pack ve her şey yolunda. API kolay, iletişim, proxy sunucuları vb. İle ilgili herhangi bir sorunumuz yok ...

Ama onu başka bir SFTP / FTPS bileşeniyle karşılaştırma şansım yok.


Lütfen SFTP ve FTPS'nin aynı protokol olmadığını unutmayın.
Trent

6

Bitvise, FTP'yi SFTP'ye köprüleyebilen Tunnelier adlı harika bir ürüne sahiptir. Daha sonra .NET'te standart FtpWebRequest'i kullanabilirsiniz.

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

Şu anda bunu kendi amaçlarım için test ediyorum ve bulgularımla güncelleneceğim.

Güncelleme

NSSM kullanarak gerçekleştirdiğim, istemciyi bir hizmet veya başka bir şey olarak bağlı tutarak çemberlerden geçmek istemediğiniz sürece, bu fikir gözetimsiz otomasyon için ideal değildir. .

Bitvise ve winscp.com dahil olmak üzere çeşitli istemcilerle CLI otomasyonunu denedim. Ayrıca şu .net sınıfı kitaplıklarını denedim: Winscp, SSH.NET, SharpSSH ve ticari SecureBlackBox SFTP istemcisi.

SecureBlackBox iyi çalıştı, ancak çok ağır, lisanslamaya bağlı olarak oldukça pahalı olabilir ve API'sine pek katılmadım.

NET geliştirme için en iyi ücretsiz sftp istemcisi winscp'dir . Onunla çalışmayı kolaylaştırmak için birkaç sınıf ve uzantı yöntemi yazdım : Winscp.


4

Chilkat'ın yerel SFTP kitaplığını ( http://www.chilkatsoft.com/ssh-sftp-component.asp ) birkaç aydır kullanıyorum ve harika çalışıyor. Büyük dosyaları indirmek ve özel anahtar kimlik doğrulaması yapmak için her gece bir işte kullanıyordum. Tek sorun, 64bit sürümünü Windows server 2008 üzerinde çalıştırmaktı, sunucuma vcredist_x64.exe ( http://www.microsoft.com/download/en/details.aspx?id=14632 ) kurmam gerekiyordu .


2
Chilkat% 100 yönetilen bir kod değildir. NET'e sarılmış yerel bir kitaplıktır. Bu kitaplığı dahil ettiğimizde görsel stüdyo web tasarımcısını kırdı çünkü VS 32-bit modunda çalışıyor. Geliştirme ve prod (64-bit) arasında tüm bu geçici çözümleri oluşturmak zorunda kaldık, böylece eğlenceli değil doğru DLL'yi kullanabilir. Çözüm, GAC'nin
Chris Smith

0

.NET'te kapsamlı SFTP desteği için edtFTPnet / PRO'yu deneyin . Pek çok farklı SFTP sunucusunu destekleyen uzun bir süredir.

Ayrıca Windows makinenizde SFTP desteği almanın ucuz bir yolu olan Windows için bir SFTP sunucusu olan CompleteFTP de satıyoruz . Ayrıca FTP ve FTPS'ye sahiptir.


Bir süredir edtFTPnet kitaplığını kullandım - iyi çalışıyor, ancak .net bağlamalarının dokümantasyonu harika değil.
Jon Cage

0

IP * Works SSH kullandım ve harika. Kurması ve kullanması kolay. Ayrıca, sorularınız veya sorunlarınız olduğunda destekleri birinci sınıftır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.