은 모든 버전에서, .NET 프레임 워크에서 SFTP에 대한 지원이 없습니다.
SFTP에는 타사 라이브러리를 사용해야합니다.
당신은 WinSCP .NET assembly를 사용할 수 있습니다. WinSCP NuGet package도 있습니다.
일반의 SFTP 업로드 C# 예제 :
// Setup session options
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "example.com",
UserName = "user",
Password = "mypassword",
SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
session.PutFiles(@"d:\toupload\*", "/home/user/").Check();
}
가 lot of other examples을있다.
당신은 C#을, VB.NET 및 PowerShell을 포함, 당신을 위해, 위와 같이, WinSCP GUI generate an SFTP code template을 가질 수 있습니다.
조립은 WinSCP에 스크립트 래퍼, 그래서 완전히 네이티브 .NET 코드 아니다. 따라서 .NET Framework의 모든 사용 사례에 맞지 않습니다. GUI 나 웹 어플리케이션을 개발하는 것이 아니라 자동화 작업에 가장 적합합니다. 완전히 네이티브 .NET SFTP 라이브러리에 대한
, 이상하게도 아직 대답에 언급되지 않은
SSH.NET를 참조하십시오.
(나는 WinSCP에의 저자 해요)
SFTP의 변형 :
에서보세요? – SLaks
음, 단지 SFTP가 하나뿐입니다. 다른 하나는 FTPS라고합니다. –
오, 알겠습니다. 죄송합니다. 간단한 FTP가 아닌 안전한 FTP. –