Ssh Class
Namespace: Rebex.Net
Assembly: Rebex.SshShell.dll (version 7.0.9313)
Provides methods for communication with SSH shell servers.
Syntax
public class Ssh : NetworkSession, ILogWriterProvider, IDisposable, IShellChannelFactory
Inherited Members
Remarks
All members of this class are thread-safe.
Constructors
| Name | Description |
|---|---|
| Ssh() | Initializes a new instance of the Ssh class. |
Fields
| Name | Description |
|---|---|
| DefaultPort | Default SSH port (22). |
Properties
| Name | Description |
|---|---|
| DefaultLogWriter | Gets or sets a default log writer used by all new instances of NetworkSession object. Inherited from NetworkSession. |
| Encoding | Gets or sets the Encoding to use to encode and decode command parameters and server responses. |
| Fingerprint | Gets the server public key fingerprint (a SHA-256 hash of the server public key). |
| InstanceId | Gets instance ID (intended for logging purposes). Inherited from NetworkSession. |
| IsAuthenticated | Gets a value indicating whether the session is authenticated. |
| IsConnected | Gets a value indicating whether the session is connected. |
| IsDisposed | Gets a value indicating whether the object is disposed. |
| LocalEndPoint | Gets the local client EndPoint. |
| LogWriter | Gets or sets the LogWriter used by this object. Inherited from NetworkSession. |
| Proxy | Gets or sets the network proxy to use to access a remote server. |
| RemoteEndPoint | Gets the remote server EndPoint. |
| ServerKey | Gets the server public key. |
| ServerName | Gets the server name, if available. Inherited from NetworkSession. |
| ServerPort | Gets the server port, if available. Inherited from NetworkSession. |
| Session | Gets the SSH session used by this SSH session. |
| Settings | Gets or sets SSH object settings. |
| Timeout | Gets or sets the length of time in milliseconds before the operation times out (specify -1 or 0 to indicate that the request does not time out). |
| UserName | Gets the authenticated user name, if available. Inherited from NetworkSession. |
| Version | Gets the version of the SSH component. |
Methods
| Name | Description |
|---|---|
| Bind(SshSession) | Binds the Ssh object to an underlying SSH session. This can be used instead of Connect(String)/Login(String, String) methods. |
| CheckConnectionState() | Checks whether the SSH session is still connected. Throws an exception on error. |
| Connect(String) | Connects to the SSH server. |
| Connect(String, Int32) | Connects to the SSH server. |
| ConnectAsync(String, Int32, Object) | Begins asynchronous Connect operation. Connects to the SSH server. |
| ConnectAsync(String, Object) | Begins asynchronous Connect operation. Connects to the SSH server. |
| Disconnect() | Informs the server that the connection is about to close and terminates the connection. |
| DisconnectAsync(Object) | Begins asynchronous Disconnect operation. Informs the server that the connection is about to close and terminates the connection. |
| Dispose() | Disposes the Ssh object and all the socket objects. |
| Dispose(Boolean) | Releases the unmanaged resources used by the Ssh object and optionally releases the managed resources. |
| Finalize() | Finalizer. Called by garbage collector during object destruction. |
| GetConnectionState() | Checks whether the SSH session is still connected and returns its state. |
| GetHashCode() | Gets hash code for this object. Inherited from NetworkSession. |
| Login() | Authenticates the user to the server interactively and initializes the SSH session. Uses AuthenticationRequest event to request credentials. |
| Login(SshGssApiCredentials) | Authenticates to the server using GSSAPI. Kerberos is only supported on Mono. NTLM is supported on Windows and partially on Mono. |
| Login(String) | Authenticates the user to the server interactively and initializes the SSH session. Uses AuthenticationRequest event to request credentials. |
| Login(String, SshAuthenticationAgent) | Authenticates the user to the server using his private key and initializes the SSH session. |
| Login(String, SshPrivateKey) | Authenticates the user to the server using his private key and initializes the SSH session. |
| Login(String, String) | Authenticates the user to the server and initializes the SSH session. |
| Login(String, String, SshAuthenticationAgent) | Authenticates the user to the server using a combination of password and public key and initializes the SSH session. |
| Login(String, String, SshPrivateKey) | Authenticates the user to the server using a combination of password and public key and initializes the SSH session. |
| LoginAsync(SshGssApiCredentials, Object) | Begins asynchronous Login operation. Authenticates to the server using GSSAPI. Kerberos is only supported on Mono. NTLM is supported on Windows and partially on Mono. |
| LoginAsync(Object) | Begins asynchronous Login operation. Authenticates the user to the server interactively and initializes the SSH session. Uses AuthenticationRequest event to request credentials. |
| LoginAsync(String, SshAuthenticationAgent, Object) | Begins asynchronous Login operation. Authenticates the user to the server using his private key and initializes the SSH session. |
| LoginAsync(String, SshPrivateKey, Object) | Begins asynchronous Login operation. Authenticates the user to the server using his private key and initializes the SSH session. |
| LoginAsync(String, Object) | Begins asynchronous Login operation. Authenticates the user to the server interactively and initializes the SSH session. Uses AuthenticationRequest event to request credentials. |
| LoginAsync(String, String, SshAuthenticationAgent, Object) | Begins asynchronous Login operation. Authenticates the user to the server using a combination of password and public key and initializes the SSH session. |
| LoginAsync(String, String, SshPrivateKey, Object) | Begins asynchronous Login operation. Authenticates the user to the server using a combination of password and public key and initializes the SSH session. |
| LoginAsync(String, String, Object) | Begins asynchronous Login operation. Authenticates the user to the server and initializes the SSH session. |
| RunCommand(String) | Runs a remote command and returns its response. Returns null reference (Nothing in Visual Basic) if the end of response has been reached without any preceding data. |
| RunCommandAsync(String, Object) | Begins asynchronous RunCommand operation. Runs a remote command and returns its response. Returns null reference (Nothing in Visual Basic) if the end of response has been reached without any preceding data. |
| SetSocketFactory(ISocketFactory) | Sets the socket factory to be used to create communication sockets. |
| StartCommand(String) | Starts a remote command. |
| StartCommandAsync(String, Object) | Begins asynchronous StartCommand operation. Starts a remote command. |
| StartIncomingTunnel(IPEndPoint, IPEndPoint) | Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnel(IPEndPoint, String, Int32) | Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnel(String, Int32, IPEndPoint) | Starts a new incoming tunnel. Connections to remote address/port will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnel(String, Int32, String, Int32) | Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnelAsync(IPEndPoint, IPEndPoint, Object) | Begins asynchronous StartIncomingTunnel operation. Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnelAsync(IPEndPoint, String, Int32, Object) | Begins asynchronous StartIncomingTunnel operation. Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnelAsync(String, Int32, IPEndPoint, Object) | Begins asynchronous StartIncomingTunnel operation. Starts a new incoming tunnel. Connections to remote address/port will be tunneled from the SSH server through the local machine to the specified target. |
| StartIncomingTunnelAsync(String, Int32, String, Int32, Object) | Begins asynchronous StartIncomingTunnel operation. Starts a new incoming tunnel. Connections to remote endpoint will be tunneled from the SSH server through the local machine to the specified target. |
| StartOutgoingTunnel(IPEndPoint, IPEndPoint) | Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote endpoint. |
| StartOutgoingTunnel(IPEndPoint, String, Int32) | Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote host/port. |
| StartOutgoingTunnel(String, Int32, String, Int32) | Starts a new outgoing tunnel. Connections to local host/port will be tunneled through the SSH server to the specified remote host/port. |
| StartOutgoingTunnelAsync(IPEndPoint, IPEndPoint, Object) | Begins asynchronous StartOutgoingTunnel operation. Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote endpoint. |
| StartOutgoingTunnelAsync(IPEndPoint, String, Int32, Object) | Begins asynchronous StartOutgoingTunnel operation. Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote host/port. |
| StartOutgoingTunnelAsync(String, Int32, String, Int32, Object) | Begins asynchronous StartOutgoingTunnel operation. Starts a new outgoing tunnel. Connections to local host/port will be tunneled through the SSH server to the specified remote host/port. |
| StartScripting() | Starts a scripting session with a virtual terminal. |
| StartScripting(TerminalOptions) | Starts a scripting session with a virtual terminal. |
| StartScripting(String) | Starts a scripting session with a virtual terminal. |
| StartScripting(String, TerminalOptions) | Starts a scripting session with a virtual terminal. |
| StartScripting(String, TerminalOptions, Int32, Int32) | Starts a scripting session with a virtual terminal. |
| StartScriptingAsync(TerminalOptions, Object) | Begins asynchronous StartScripting operation. Starts a scripting session with a virtual terminal. |
| StartScriptingAsync(Object) | Begins asynchronous StartScripting operation. Starts a scripting session with a virtual terminal. |
| StartScriptingAsync(String, TerminalOptions, Int32, Int32, Object) | Begins asynchronous StartScripting operation. Starts a scripting session with a virtual terminal. |
| StartScriptingAsync(String, TerminalOptions, Object) | Begins asynchronous StartScripting operation. Starts a scripting session with a virtual terminal. |
| StartScriptingAsync(String, Object) | Begins asynchronous StartScripting operation. Starts a scripting session with a virtual terminal. |
| StartShell(ShellMode) | Starts a remote shell. |
| StartShellAsync(ShellMode, Object) | Begins asynchronous StartShell operation. Starts a remote shell. |
| StartSocksServer(IPEndPoint) | Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote host/port. |
| StartSocksServer(String, Int32) | Starts a new outgoing tunnel. Connections to local host/port will be tunneled through the SSH server to the specified remote host/port. |
| StartSocksServerAsync(IPEndPoint, Object) | Begins asynchronous StartSocksServer operation. Starts a new outgoing tunnel. Connections to local endpoint will be tunneled through the SSH server to the specified remote host/port. |
| StartSocksServerAsync(String, Int32, Object) | Begins asynchronous StartSocksServer operation. Starts a new outgoing tunnel. Connections to local host/port will be tunneled through the SSH server to the specified remote host/port. |
| StartVirtualTerminal() | Starts a virtual terminal session. |
| StartVirtualTerminal(TerminalOptions) | Starts a virtual terminal session. |
| StartVirtualTerminal(TerminalOptions, Int32, Int32) | Starts a virtual terminal session. |
| StartVirtualTerminalAsync(TerminalOptions, Int32, Int32, Object) | Begins asynchronous StartVirtualTerminal operation. Starts a virtual terminal session. |
| StartVirtualTerminalAsync(TerminalOptions, Object) | Begins asynchronous StartVirtualTerminal operation. Starts a virtual terminal session. |
| StartVirtualTerminalAsync(Object) | Begins asynchronous StartVirtualTerminal operation. Starts a virtual terminal session. |
| ToString() | Returns a string representation of this object. |
Events
| Name | Description |
|---|---|
| AuthenticationRequest | Occurs when an authentication request is received from the server that cannot be answered programmatically. |
| BannerReceived | Occurs when a banner message is received from the server. |
| FingerprintCheck | Occurs when a fingerprint is received from the server and needs to be validated. |
| TunnelError | Occurs when a tunnel fails with an error. |
Explicit Interface Implementations
| Name | Description |
|---|---|
| IShellChannelFactory.CreateShellChannel(TerminalOptions, Int32, Int32) | Creates a new shell channel using the specified options. |