Tag: sftp

如何使用c#通过FTP下载压缩文件(.zip)?

如何使用c#代码下载.zip文件格式? 这是代码,我用来下载。 只是为了突出显示,如果我下载.txt文件,它工作正常。 如果我下载.zip文件,它会下载.zip文件,但我无法打开它。 它抱怨.zip的格式不正确。 我怀疑我如何在本地驱动器上写回文件。 救命? string ftpServerIP = FTPServer; string ftpUserID = FTPUser; string ftpPassword = FTPPwd; FileInfo fileInf = new FileInfo(FileName); string uri = “ftp://” + ftpServerIP + “/” + fileInf.Name; FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(uri); //new Uri(“ftp://” + ftpServerIP + DestinationFolder + fileInf.Name)); reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); reqFTP.EnableSsl = true; reqFTP.KeepAlive […]

SharpSSH无效私钥

我使用SharpSSH连接到stfp服务器。 这对于我需要添加这样的privatekey文件: sftp.AddIdentityFile(KeyFilePath); 但这引发了一个例外: invaid privatekey: C:\KeyFile\privatekey_2.ppk 该文件是使用puttygen创建的,并与filezilla一起使用。 privatekey-type无关紧要(SSH-1 RSA,SSH-2 RSA,SSH-2 DSA)。 每次都有相同的结果。 你知道如何处理这个问题吗?

如何在WPF C#app中安全地部署PPK文件?

我有一个连接到SFTP服务器的C#应用​​程序来传输日志文件。 该应用程序通过使用WinSCP .NET程序集连接到服务器来实现此目的。 如何安全地存储.ppk私钥文件,以便用户无法使用此文件自行访问SFTP? http://winscp.net/eng/docs/library#csharp 根据库引用.ppk ,可能无法避免在运行时将.ppk文件存储在本地磁盘上? 提前致谢。

连接到SFTP服务器的SocketException:name有效,但未找到所请求类型的数据

我正在尝试使用SharpSsh库连接我的sftp服务器,但我收到以下错误: System.Net.Sockets.SocketException (0x80004005): The requested name is valid, but no data of the requested type was found 我正在使用以下代码进行连接 Tamir.SharpSsh.Sftp sftp = new Tamir.SharpSsh.Sftp(“ftp.simptr.us”, “username”, “password”); 为什么抛出这个exception?

Renci SSH.NET:是否可以创建包含不存在的子文件夹的文件夹

我目前正在使用Renci SSH.NET使用SFTP将文件和文件夹上传到Unix服务器,并使用创建目录 sftp.CreateDirectory(“//server/test/test2”); 只要文件夹“test”已经存在,它就能完美运行。 如果没有, CreateDirectory方法将失败,并且每次尝试创建包含多个级别的目录时都会发生这种情况。 是否有一种优雅的方式来递归生成字符串中的所有目录? 我假设CreateDirectory方法自动执行此操作。

在C#中使用SSH.NET SFTP下载目录

我正在使用Renci.SSH和C#从Windows机器连接到我的Unix服务器。 当目录内容只是文件时,我的代码按预期工作,但如果目录包含文件夹,我会得到这个 Renci.SshNet.Common.SshException:’失败’ 这是我的代码,如何更新此代码以下载目录(如果存在) private static void DownloadFile(string arc, string username, string password) { string fullpath; string fp; var options = new ProgressBarOptions { ProgressCharacter = ‘.’, ProgressBarOnBottom = true }; using (var sftp = new SftpClient(Host, username, password)) { sftp.Connect(); fp = RemoteDir + “/” + arc; if (sftp.Exists(fp)) fullpath = fp; else fullpath […]

使用Tamir.SharpSSH上传到FTP服务器C#

我能够连接我的sftp服务器,我很确定它,因为我得到了我的服务器的文件列表,它通过了正确的列表。 但是我无法将文件上传到mysftp服务器中的文件夹。 这是我的代码: private static void FileUploadUsingSftp(string SFTPAddress, string SFTPUserName, string SFTPPassword, string SFTPFilePath, string FileName) { Sftp sftp = null; try { sftp = new Sftp( SFTPAddress,SFTPUserName , SFTPPassword); // Connect Sftp sftp.Connect(); MessageBox.Show(“Connected!”); //Check if im surely connected //list down files in my sftp server folder u01 ArrayList list; list = sftp.GetFileList(“//u01”); foreach […]

使用SFTP连接到FTP站点并下载文件

我需要从FTP站点下载所有文件。 但我需要连接SFTP才能连接。 我无法找到使用SFTP连接从FTP站点下载文件的示例/教程。 有人可以指点我一个教程或提供一些示例代码开始吗?

SSH.NET:是否可以使用SFTP上传文件并保留源文件中的文件日期?

目前,我使用Renci SSH.NET库使用SFTP将文件上传到Unix服务器。 我不喜欢的一件事是,在上传文件后,创建和修改日期会更改为上传时间。 我想保留源文件中的原始文件日期,这可能吗?

使用SSH.Net下载并返回非阻塞数据流

我正在使用ssh.net库执行SFTP操作以处理大型数据文件( > = 500MB ) 我遇到了如何以非阻塞方式返回数据的问题。 ftpClient.DownloadFile()方法签名是正确的,当写入文件或者有某种方式我可以实例化流,但是当我想要在不阻塞的情况下返回流时遇到如何使用它的问题。 到目前为止我看到的所有示例都是将下载文件写入文件流。 什么都不会只返回一个流 使用.Net的内置FTP,您只需使用response.GetResponseStream() ,它会回送数据,而不会阻塞。 在return语句中使用它的唯一方法是写入临时文件。 但这导致它成为阻塞操作。 var tmpFilename = “temp.dat”; int bufferSize = 4096; var sourceFile = “23-04-2015.dat”; using (var stream = System.IO.File.Create(tmpFilename , bufferSize, System.IO.FileOptions.DeleteOnClose)) { sftpClient.DownloadFile(sourceFile, stream); return stream; } 我不希望它阻止但是要回流数据。 我也想避免创建一个临时文件。 是否有替代实现使其回流数据? 或者是否有可以实例化的替代流( MemoryStream除外),它可以用于大文件?