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

Renci.SshNet.SubsystemSession

public bool IsOpen { get; }

public int OperationTimeout { get; set; }

public ILoggerFactory SessionLoggerFactory { get; }

protected SubsystemSession(ISession session, string subsystemName, int operationTimeout)

public void Connect()

public WaitHandle[] CreateWaitHandleArray(WaitHandle waitHandle1, WaitHandle waitHandle2)

public void Disconnect()

public void Dispose()

protected virtual void Dispose(bool disposing)

protected abstract void OnChannelOpen()

protected abstract void OnDataReceived(ArraySegment<byte> data)

protected void RaiseError(Exception error)

public void SendData(byte[] data)

public int WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout)

public void WaitOnHandle(WaitHandle waitHandle, int millisecondsTimeout)

public Task WaitOnHandleAsync(WaitHandle waitHandle, int millisecondsTimeout, CancellationToken cancellationToken)

public Task<T> WaitOnHandleAsync<T>(TaskCompletionSource<T> tcs, int millisecondsTimeout, CancellationToken cancellationToken)