<PackageReference Include="SSH.NET" Version="2020.0.2" />

Renci.SshNet.SftpClient

Implementation of the SSH File Transfer Protocol (SFTP) over SSH.
namespace Renci.SshNet { public class SftpClient : BaseClient, ISftpClient { public TimeSpan OperationTimeout { get; set; } public uint BufferSize { get; set; } public string WorkingDirectory { get; } public int ProtocolVersion { get; } public SftpClient(ConnectionInfo connectionInfo); public SftpClient(string host, int port, string username, string password); public SftpClient(string host, string username, string password); public SftpClient(string host, int port, string username, params PrivateKeyFile[] keyFiles); public SftpClient(string host, string username, params PrivateKeyFile[] keyFiles); public void ChangeDirectory(string path); public void ChangePermissions(string path, short mode); public void CreateDirectory(string path); public void DeleteDirectory(string path); public void DeleteFile(string path); public void RenameFile(string oldPath, string newPath); public void RenameFile(string oldPath, string newPath, bool isPosix); public void SymbolicLink(string path, string linkPath); public IEnumerable<SftpFile> ListDirectory(string path, Action<int> listCallback = null); public IAsyncResult BeginListDirectory(string path, AsyncCallback asyncCallback, object state, Action<int> listCallback = null); public IEnumerable<SftpFile> EndListDirectory(IAsyncResult asyncResult); public SftpFile Get(string path); public bool Exists(string path); public void DownloadFile(string path, Stream output, Action<ulong> downloadCallback = null); public IAsyncResult BeginDownloadFile(string path, Stream output); public IAsyncResult BeginDownloadFile(string path, Stream output, AsyncCallback asyncCallback); public IAsyncResult BeginDownloadFile(string path, Stream output, AsyncCallback asyncCallback, object state, Action<ulong> downloadCallback = null); public void EndDownloadFile(IAsyncResult asyncResult); public void UploadFile(Stream input, string path, Action<ulong> uploadCallback = null); public void UploadFile(Stream input, string path, bool canOverride, Action<ulong> uploadCallback = null); public IAsyncResult BeginUploadFile(Stream input, string path); public IAsyncResult BeginUploadFile(Stream input, string path, AsyncCallback asyncCallback); public IAsyncResult BeginUploadFile(Stream input, string path, AsyncCallback asyncCallback, object state, Action<ulong> uploadCallback = null); public IAsyncResult BeginUploadFile(Stream input, string path, bool canOverride, AsyncCallback asyncCallback, object state, Action<ulong> uploadCallback = null); public void EndUploadFile(IAsyncResult asyncResult); public SftpFileSytemInformation GetStatus(string path); public void AppendAllLines(string path, IEnumerable<string> contents); public void AppendAllLines(string path, IEnumerable<string> contents, Encoding encoding); public void AppendAllText(string path, string contents); public void AppendAllText(string path, string contents, Encoding encoding); public StreamWriter AppendText(string path); public StreamWriter AppendText(string path, Encoding encoding); public SftpFileStream Create(string path); public SftpFileStream Create(string path, int bufferSize); public StreamWriter CreateText(string path); public StreamWriter CreateText(string path, Encoding encoding); public void Delete(string path); public DateTime GetLastAccessTime(string path); public DateTime GetLastAccessTimeUtc(string path); public DateTime GetLastWriteTime(string path); public DateTime GetLastWriteTimeUtc(string path); public SftpFileStream Open(string path, FileMode mode); public SftpFileStream Open(string path, FileMode mode, FileAccess access); public SftpFileStream OpenRead(string path); public StreamReader OpenText(string path); public SftpFileStream OpenWrite(string path); public byte[] ReadAllBytes(string path); public string[] ReadAllLines(string path); public string[] ReadAllLines(string path, Encoding encoding); public string ReadAllText(string path); public string ReadAllText(string path, Encoding encoding); public IEnumerable<string> ReadLines(string path); public IEnumerable<string> ReadLines(string path, Encoding encoding); public void SetLastAccessTime(string path, DateTime lastAccessTime); public void SetLastAccessTimeUtc(string path, DateTime lastAccessTimeUtc); public void SetLastWriteTime(string path, DateTime lastWriteTime); public void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc); public void WriteAllBytes(string path, byte[] bytes); public void WriteAllLines(string path, IEnumerable<string> contents); public void WriteAllLines(string path, string[] contents); public void WriteAllLines(string path, IEnumerable<string> contents, Encoding encoding); public void WriteAllLines(string path, string[] contents, Encoding encoding); public void WriteAllText(string path, string contents); public void WriteAllText(string path, string contents, Encoding encoding); public SftpFileAttributes GetAttributes(string path); public void SetAttributes(string path, SftpFileAttributes fileAttributes); public IEnumerable<FileInfo> SynchronizeDirectories(string sourcePath, string destinationPath, string searchPattern); public IAsyncResult BeginSynchronizeDirectories(string sourcePath, string destinationPath, string searchPattern, AsyncCallback asyncCallback, object state); public IEnumerable<FileInfo> EndSynchronizeDirectories(IAsyncResult asyncResult); } }