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

ISession

interface ISession : IDisposable
Provides functionality to connect and interact with SSH server.
using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Messages; using Renci.SshNet.Messages.Authentication; using Renci.SshNet.Messages.Connection; using System; using System.Threading; using System.Threading.Tasks; namespace Renci.SshNet { internal interface ISession : IDisposable { IConnectionInfo ConnectionInfo { get; } bool IsConnected { get; } SemaphoreSlim SessionSemaphore { get; } WaitHandle MessageListenerCompleted { get; } event EventHandler<MessageEventArgs<ChannelCloseMessage>> ChannelCloseReceived; event EventHandler<MessageEventArgs<ChannelDataMessage>> ChannelDataReceived; event EventHandler<MessageEventArgs<ChannelEofMessage>> ChannelEofReceived; event EventHandler<MessageEventArgs<ChannelExtendedDataMessage>> ChannelExtendedDataReceived; event EventHandler<MessageEventArgs<ChannelFailureMessage>> ChannelFailureReceived; event EventHandler<MessageEventArgs<ChannelOpenConfirmationMessage>> ChannelOpenConfirmationReceived; event EventHandler<MessageEventArgs<ChannelOpenFailureMessage>> ChannelOpenFailureReceived; event EventHandler<MessageEventArgs<ChannelOpenMessage>> ChannelOpenReceived; event EventHandler<MessageEventArgs<ChannelRequestMessage>> ChannelRequestReceived; event EventHandler<MessageEventArgs<ChannelSuccessMessage>> ChannelSuccessReceived; event EventHandler<MessageEventArgs<ChannelWindowAdjustMessage>> ChannelWindowAdjustReceived; event EventHandler<EventArgs> Disconnected; event EventHandler<ExceptionEventArgs> ErrorOccured; event EventHandler<SshIdentificationEventArgs> ServerIdentificationReceived; event EventHandler<HostKeyEventArgs> HostKeyReceived; event EventHandler<MessageEventArgs<RequestSuccessMessage>> RequestSuccessReceived; event EventHandler<MessageEventArgs<RequestFailureMessage>> RequestFailureReceived; event EventHandler<MessageEventArgs<BannerMessage>> UserAuthenticationBannerReceived; void Connect(); Task ConnectAsync(CancellationToken cancellationToken); IChannelSession CreateChannelSession(); IChannelDirectTcpip CreateChannelDirectTcpip(); IChannelForwardedTcpip CreateChannelForwardedTcpip(uint remoteChannelNumber, uint remoteWindowSize, uint remoteChannelDataPacketSize); void Disconnect(); void OnDisconnecting(); void RegisterMessage(string messageName); void SendMessage(Message message); bool TrySendMessage(Message message); void UnRegisterMessage(string messageName); void WaitOnHandle(WaitHandle waitHandle); void WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout); WaitResult TryWait(WaitHandle waitHandle, TimeSpan timeout, out Exception exception); WaitResult TryWait(WaitHandle waitHandle, TimeSpan timeout); } }