.NET 용 SFTP 라이브러리 [닫힘]


109

누구나 사용할 좋은 SFTP 라이브러리를 추천 할 수 있습니까? 지금은 SecureBlackbox, IPWorks SSH, WodSFTP 및 Rebex SFTP와 같은 제품을보고 있습니다. 그러나 이전에는 SFTP 라이브러리를 사용한 적이 없으므로 무엇을 찾고 있는지 잘 모르겠습니다.

이걸 사용 해본 사람이 있다면 "Y"보다 "X"제품을 사용해야 할 이유가 있나요?



MIT에 따라 라이센스가 부여 된 SFTP 라이브러리가 있습니까?
Yash Saraiya

당신은 NET을위한 SFTP 구성 요소에 대한 자세한 리뷰를 확인하실 수 있습니다 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이 즉시 버그가 있음을 발견했습니다. 파일 / 디렉터리가 있는지 확인하면 항상 true가 반환됩니다. 이슈 목록에있는 많은 공개 및 찬성 된 이슈로 인해 프로젝트에서 제외되었습니다.
Ronnie Overby

1
@RonnieOverby 파일 / 디렉터리에 대해 언급 한 문제가 존재하며 더 이상 존재하지 않는 문제를 찾았습니다. SSH.NET을 테스트하는 코드를 작성했으며 예상대로 작동합니다.
Colin

4
SharpSSH 포크 (지난 2012 년 9 월 업데이트) 너무 죽었어요.
Martin Prikryl

3
감사합니다. 비교해 보니 SSH.NET이 더 깨끗하고 사용하기 쉬운 것 같습니다. 내가 그들을 사용하고 프로젝트를 마친 후 나는 내 대답을 업데이 트됩니다 감사합니다.
노르 Lababidi

52

우리는 WinSCP를 사용합니다. 무료입니다. lib는 아니지만 Process.Start와 함께 사용할 수있는 잘 문서화되고 완전한 기능을 갖춘 명령 줄 인터페이스가 있습니다.

업데이트 : v.5.0에서 WinSCP에는 WinSCP 의 스크립팅 계층에 대한 .NET 래퍼 라이브러리 가 있습니다.


1
나에게 꽤 잘 보이는 : winscp.net/eng/docs/library#example
존 케이지

4
WinSCP 스크립팅 인터페이스의 래퍼 인 WinSCP .NET 어셈블리 (winscpnet.dll)를 성공적으로 사용했습니다. 예, 정말 잘 문서화되어 있습니다. 많은 예가 있습니다. 잘못된 매개 변수를 전달하면 래퍼는 잘못된 내용을 자세히 설명하는 예외를 발생시킵니다. 매개 변수를 올바르게 설정하는 데 몇 가지 시행 착오가 필요했습니다. WinSCP의 결함이 아니라 ftps와 sftp 간의 혼동이있었습니다. 또한 WinSCP.exe를 응용 프로그램 bin 폴더에 복사해야합니다. 또는 Session.Open ()을 호출하기 전에 Session.ExecutablePath를 설정할 수 있습니다.
에드워드

WinSCP는 GPL에 따라 라이센스가 부여됩니다. MIT에서 라이선스를 취득한 작업이 가능한가요?
Yash Saraiya


1
좋지 않습니다. winscp는 .exe에 연결되어있어 다중 플랫폼 개발에 적합하지 않습니다.
Alwyn 2019

9

이것을 확인하십시오 : http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh

SharpSSH는 SSH2 클라이언트 프로토콜 제품군의 순수한 .NET 구현입니다. SSH 서버와의 통신을위한 API를 제공하며 모든 .NET 애플리케이션에 통합 될 수 있습니다.

라이브러리는 JCraft Inc.의 JSch 프로젝트의 C # 포트이며 BSD 스타일 라이선스로 출시됩니다.

SharpSSH를 사용하면 JSch의 API와 유사한 API를 사용하여 SSH 채널을 통해 데이터를 읽고 쓰고 파일을 전송할 수 있습니다. 또한 SSH 통신을위한 더 간단한 추상화를 제공하는 몇 가지 추가 래퍼 클래스를 제공합니다.

Source forge의 SharpSSH 프로젝트 페이지 : http://sourceforge.net/projects/sharpssh


9
멋진 물건이지만 2007 년 이후로 업데이트되지 않았습니다. .net 4에 대한 smth 필요
Johnny_D

1
업데이트되고 적극적으로 유지되는 것에 대한 내 대답을 참조하십시오.
Asbjørn Ulsberg

10
이 라이브러리를 사용했으며 권장하지 않습니다. 작동했지만 불완전한 포트처럼 느껴졌습니다. 최상위 클래스 (파일이 IIRC에 있는지 테스트)에 일부 기능이 누락되어 작동하도록하려면 private 필드에서 메서드를 호출해야했습니다. 소스에 남겨진 주석 처리 된 자바 코드 청크; 자바 표준 라이브러리의 이름을 따서 명명 된 래퍼 클래스; 전체적으로 Java 관용구. 대신 SSH.NET을 사용했습니다 (@asbjornu의 게시물에서와 같이).
Alex

8

우리는 Rebex 파일 전송 팩을 샀고 모두 괜찮습니다. API는 간단하며 통신, 프록시 서버 등에 문제가 없습니다.

하지만 다른 SFTP / FTPS 구성 요소와 비교할 기회가 없었습니다.


SFTP와 FTPS는 동일한 프로토콜이 아닙니다.
Trent

6

Bitvise에는 FTP를 SFTP에 연결할 수있는 Tunnelier라는 훌륭한 제품이 있습니다. 그런 다음 .NET에서 표준 FtpWebRequest를 사용할 수 있습니다.

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

현재 내 목적을 위해 이것을 테스트하고 있으며 내 결과로 업데이트 할 것입니다.

최신 정보

이 아이디어는 NSSM 을 사용하여 클라이언트를 서비스 또는 다른 것으로 연결 한 상태로 유지하는 문제를 해결하지 않는 한 무인 자동화에 적합하지 않습니다 .

bitvise 및 winscp.com을 포함한 다양한 클라이언트에서 CLI 자동화를 시도했습니다. 또한 Winscp, SSH.NET, SharpSSH 및 상용 SecureBlackBox SFTP 클라이언트와 같은 .net 클래스 라이브러리를 사용해 보았습니다.

SecureBlackBox는 잘 작동했지만 매우 무겁고 라이센스에 따라 상당히 비쌀 수 있으며 API에 그다지 동의하지 않았습니다.

.NET 개발을위한 최고의 무료 sftp 클라이언트는 winscp 입니다. 더 쉽게 작업 할 수 있도록 몇 가지 클래스와 확장 메서드를 작성했습니다. Winscp.Extensions


4

저는 Chilkat의 기본 SFTP 라이브러리 ( http://www.chilkatsoft.com/ssh-sftp-component.asp )를 몇 달 동안 사용해 왔으며 훌륭하게 작동하고 있습니다. 야간 작업에 사용하여 대용량 파일을 다운로드하고 개인 키 인증을 수행했습니다. 내가 가진 유일한 문제는 Windows Server 2008에서 작동하기 위해 64 비트 버전을 얻는 것이었고, 내 서버에 vcredist_x64.exe ( http://www.microsoft.com/download/en/details.aspx?id=14632 ) 를 설치해야했습니다. .


2
Chilkat은 100 % 관리 코드가 아닙니다. .NET으로 래핑 된 네이티브 라이브러리입니다. 이 라이브러리를 통합하면 VS가 32 비트 모드에서 실행되기 때문에 Visual Studio 웹 디자이너가 망가졌습니다. 우리는 dev와 prod (64 비트)간에 이러한 모든 해결 방법을 만들어야 재미가 아닌 올바른 DLL을 사용할 수 있습니다. 이 문제를 해결하려면 GAC가 대상 컴퓨터에 32 비트 및 64 비트 DLL을 모두 설치해야합니다. chilkatforum.com/questions/114/…
Chris Smith

0

.NET에서 포괄적 인 SFTP 지원을 받으려면 edtFTPnet / PRO를 사용해보십시오 . 다양한 SFTP 서버를 지원하는 데 오랜 시간이 걸렸습니다.

또한 Windows 용 SFTP 서버 인 CompleteFTP 도 판매합니다.이 서버 는 Windows 시스템에서 SFTP를 지원하는 저렴한 방법입니다. 또한 FTP 및 FTPS가 있습니다.


나는 한동안 edtFTPnet 라이브러리를 사용했습니다-잘 작동하지만 .net 바인딩에 대한 문서는 훌륭하지 않습니다.
Jon Cage

0

저는 IP * Works SSH를 사용해 왔고 훌륭합니다. 설정 및 사용이 쉽습니다. 또한 질문이나 문제가 발생할 때 지원이 최고 수준입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.