SFTP Libraries สำหรับ. NET [ปิด]


109

ใครช่วยแนะนำไลบรารี SFTP ดีๆให้ใช้หน่อยได้ไหม? ตอนนี้ฉันกำลังดูผลิตภัณฑ์เช่น SecureBlackbox, IPWorks SSH, WodSFTP และ Rebex SFTP อย่างไรก็ตามฉันไม่เคยใช้ไลบรารี SFTP มาก่อนเลยไม่แน่ใจว่ากำลังมองหาอะไร

หากใครเคยใช้ผลิตภัณฑ์เหล่านี้มาก่อนมีเหตุผลใดบ้างที่ฉันควรใช้ผลิตภัณฑ์ "X" มากกว่า "Y"?



มีไลบรารี SFTP ที่ได้รับอนุญาตภายใต้ MIT หรือไม่
Yash Saraiya

คุณสามารถตรวจสอบรีวิวโดยละเอียดสำหรับคอมโพเนนต์ SFTP สำหรับ NET ได้thedownloadplanet.com/reviews/…
alexanoid

คำตอบ:


87

ฉันค้นหารอบ ๆ และพบว่า ส้อมของ SharpSSH นี้และSSH.NETเป็นไลบรารีที่ทันสมัยที่สุดและได้รับการดูแลอย่างดีที่สุดสำหรับการสื่อสารSFTP (เพื่อไม่ให้สับสนกับFTPS ) ใน. NET SSH.NET คือการใช้งานโปรโตคอล SFTP ของ. NET 4.0 ที่สะอาดและฉันได้ใช้มันในสองวิธีที่มีสีที่บินได้และประสบความสำเร็จอย่างมาก

ต้นตำรับ SharpSsh ดูเหมือนจะตายไปแล้วและโซลูชันอื่น ๆ ส่วนใหญ่ต้องการการติดตั้งไฟล์ปฏิบัติการของ Windows หรือเงินในถัง (หรือแย่กว่านั้นทั้งสองอย่าง)


6
ฉันยังใช้ SSH.NET ( sshnet.codeplex.com ) และพบว่ามันยอดเยี่ยม
Alex

10
ฉันพบว่า SSH.NET เป็นรถบั๊กทันที การตรวจสอบไฟล์ / dir ส่งคืนจริงเสมอ ปัญหาที่เปิดอยู่และเพิ่มขึ้นมากมายในรายการปัญหาทำให้ฉันไม่สามารถเข้าร่วมโครงการได้
Ronnie Overby

1
@RonnieOverby ฉันค้นหาปัญหาที่คุณกล่าวถึงเกี่ยวกับ file / dir อยู่และไม่มีปัญหาอีกต่อไป ฉันเขียนโค้ดเพื่อทดสอบ SSH.NET และทำงานได้ตามที่คาดไว้
Colin

4
ส้อม SharpSSHตายเกินไป (ปรับปรุงล่าสุดในเดือนกันยายน 2012)
Martin Prikryl

3
ขอบคุณหลังจากเปรียบเทียบ SSH.NET ดูเหมือนว่าจะสะอาดกว่าและใช้งานง่ายกว่า ฉันจะอัปเดตคำตอบหลังจากเสร็จสิ้นโครงการที่ใช้อยู่ขอบคุณ
Nour Lababidi

52

เราใช้ WinSCP แจกฟรี. ไม่ใช่ lib แต่มีอินเทอร์เฟซบรรทัดคำสั่งที่มีเอกสารครบถ้วนและมีคุณลักษณะครบถ้วนซึ่งคุณสามารถใช้กับ Process.Start

อัปเดต:ด้วย v.5.0 WinSCP มีไลบรารี. NET wrapperไปยังเลเยอร์สคริปต์ของ WinSCP


1
ดูดีสำหรับฉัน: winscp.net/eng/docs/library#example
Jon Cage

4
ฉันใช้แอสเซมบลี WinSCP .NET สำเร็จ (winscpnet.dll), wrapper บนอินเทอร์เฟซการเขียนสคริปต์ WinSCP ใช่จริงๆมีการบันทึกไว้อย่างดี มันมีหลายตัวอย่าง หากคุณส่งพารามิเตอร์ที่ไม่ถูกต้อง Wrapper จะแสดงข้อยกเว้นที่ระบุรายละเอียดสิ่งผิดปกติ ฉันต้องใช้เวลาลองผิดลองถูกเพื่อให้พารามิเตอร์ถูกต้องไม่มีข้อผิดพลาดของ WinSCP เพียงแค่ความสับสนระหว่าง ftps และ sftp นอกจากนี้อย่าลืมคัดลอก WinSCP.exe ไปยังโฟลเดอร์ bin ของแอปพลิเคชัน หรือคุณสามารถตั้งค่า Session.ExecutablePath ก่อนที่จะเรียก Session.Open ()
Edward

WinSCP ได้รับอนุญาตภายใต้ GPL มีอะไรที่ฉันสามารถทำงานโดยได้รับใบอนุญาตภายใต้ MIT หรือไม่?
Yash Saraiya


1
ไม่ดี winscp เชื่อมโยงกับ. exe ซึ่งเป็นสิ่งที่หลีกเลี่ยงไม่ได้สำหรับการพัฒนาหลายแพลตฟอร์ม
Alwyn

9

ตรวจสอบสิ่งนี้: 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 นอกจากนี้ยังมีคลาส Wrapper เพิ่มเติมซึ่งนำเสนอนามธรรมที่ง่ายกว่าสำหรับการสื่อสาร SSH

หน้าโครงการ SharpSSH ที่แหล่งที่มาของ Forge: http://sourceforge.net/projects/sharpssh


9
ของเด็ด แต่ไม่ได้อัพเดทตั้งแต่ปี 2550 ต้อง smth สำหรับ. net 4
Johnny_D

1
ดูคำตอบของฉันสำหรับบางสิ่งที่ได้รับการอัปเดตและดูแลอย่างสม่ำเสมอ
Asbjørn Ulsberg

10
ฉันใช้ห้องสมุดนี้และไม่แนะนำ มันใช้งานได้ แต่รู้สึกว่าเป็นพอร์ตที่ไม่สมบูรณ์: คุณสมบัติบางอย่างขาดหายไปในคลาสระดับบนสุด (ทดสอบว่ามีไฟล์ IIRC หรือไม่) และฉันต้องเรียกเมธอดในฟิลด์ส่วนตัวเพื่อให้มันทำงานได้ ส่วนที่แสดงความคิดเห็นของโค้ด Java ที่เหลืออยู่ในซอร์ส คลาส wrapper ตั้งชื่อตามคลาสในไลบรารีมาตรฐาน Java สำนวน Java ตลอด. ฉันใช้ SSH.NET แทน (เหมือนในโพสต์ของ @ asbjornu) ประสบความสำเร็จอย่างมาก
Alex

8

เราซื้อRebex File Transfer Pack และทุกอย่างเรียบร้อยดี API เป็นเรื่องง่ายเราไม่มีปัญหากับการสื่อสารพร็อกซีเซิร์ฟเวอร์ ฯลฯ ...

แต่ฉันไม่มีโอกาสเปรียบเทียบกับคอมโพเนนต์ SFTP / FTPS อื่น


โปรดทราบว่า SFTP และ FTPS ไม่ใช่โปรโตคอลเดียวกัน
Trent

6

Bitvise มีผลิตภัณฑ์ที่ยอดเยี่ยมที่เรียกว่า Tunnelier ซึ่งสามารถเชื่อมโยง FTP กับ SFTP ได้ จากนั้นคุณสามารถใช้ FtpWebRequest มาตรฐานใน. NET

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

ขณะนี้ฉันกำลังทดสอบสิ่งนี้เพื่อจุดประสงค์ของฉันเองและจะอัปเดตสิ่งที่พบ

อัพเดต

แนวคิดนี้ไม่เหมาะสำหรับระบบอัตโนมัติที่ไม่มีใครดูแลเว้นแต่คุณต้องการข้ามห่วงที่ทำให้ไคลเอนต์เชื่อมต่อเป็นบริการหรืออะไรบางอย่างซึ่งฉันทำได้โดยใช้NSSM NSSM

ฉันได้ลองใช้ระบบอัตโนมัติ CLI กับลูกค้าหลายรายรวมถึง bitvise และ winscp.com ฉันได้ลองใช้ไลบรารีคลาส. net เหล่านี้แล้ว: Winscp, SSH.NET, SharpSSH และไคลเอนต์ SecureBlackBox SFTP เชิงพาณิชย์

SecureBlackBox ทำงานได้ดี แต่มีน้ำหนักมากอาจมีราคาแพงมากขึ้นอยู่กับการอนุญาตให้ใช้สิทธิ์และฉันไม่เห็นด้วยกับ API ของมันมากนัก

มือลงที่ดีที่สุดสำหรับลูกค้า SFTP ฟรีสำหรับการพัฒนา NET เป็นWinSCP ฉันได้เขียนคลาสและวิธีการขยายเพื่อให้การทำงานง่ายขึ้น: Winscp.Extensions


4

ฉันใช้ไลบรารี 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 ) บนเซิร์ฟเวอร์ของฉัน .


2
Chilkat ไม่ใช่รหัสที่มีการจัดการ 100% มันเป็นไลบรารีดั้งเดิมที่ห่อหุ้มด้วย. NET เมื่อเรารวมไลบรารีนี้มันทำให้นักออกแบบเว็บไซต์วิชวลสตูดิโอพังเพราะ VS ทำงานในโหมด 32 บิต เราต้องสร้างวิธีแก้ไขทั้งหมดนี้ระหว่าง dev และ prod (ซึ่งอยู่ใน 64 บิต) เพื่อให้สามารถใช้ DLL ที่ถูกต้องไม่ใช่เรื่องสนุก วิธีแก้ปัญหาต้องใช้ GAC เพื่อติดตั้ง DLL ทั้ง 32 และ 64 บิตบนเครื่องเป้าหมาย: chilkatforum.com/questions/114/…
Chris Smith

0

สำหรับการสนับสนุนที่ครอบคลุมในการ SFTP .NET ลองedtFTPnet / PRO เป็นเวลานานแล้วที่รองรับเซิร์ฟเวอร์ SFTP ต่างๆ

นอกจากนี้เรายังขายเซิร์ฟเวอร์ SFTP สำหรับ Windows CompleteFTPซึ่งเป็นวิธีที่ไม่แพงในการรับการสนับสนุน SFTP บนเครื่อง Windows ของคุณ ยังมี FTP และ FTPS


ฉันใช้ไลบรารี edtFTPnet มาระยะหนึ่งแล้ว - ใช้งานได้ดี แต่เอกสารสำหรับการผูก. net นั้นไม่ดี
Jon Cage

0

ฉันใช้ IP * Works SSH และมันเยี่ยมมาก ติดตั้งและใช้งานง่าย นอกจากนี้การสนับสนุนของพวกเขายังเป็นสิ่งสำคัญที่สุดเมื่อคุณพบคำถามหรือปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.