The Maverick.NET SSH API

Maverick.SSH Namespace

This namespace contains a set of interfaces that will enable you to integrate SSH client functionality into your .NET applications. The interfaces are designed to be SSH protocol independent so that your applications can support both versions of the SSH protocol.

Namespace hierarchy

Classes

Class Description
AbstractComponentFactory An abstract utility class used to store the available transport components and provide delimited listing as required in the key exchange initialization process.
ChannelOpenException Exception thrown when the remote server denies a channel open request.
LicenseManager Add your license using the static method provided by this class.
PasswordAuthentication Basic password authentication class used for SSH password authentication.
PseudoTerminalModes When a client requests a pseudo terminal it informs the server of any terminal modes that it knows of. This is typically used in situations where advance terminal configuration is required but it can also be used to perform simple configuration such as turning off character echo.
PublicKeyAuthentication Summary description for PublicKeyAuthentication.
Shell This class provides an enhanced user shell that enables the user to trap the output of single commands in a ShellProcess.
ShellEnvironment This class helps the Shell class to determine information about a remote SSHClient's environment.
ShellProcess This class provides expect type functionality on the captured output of a single command executed in a shell. The Shell class provides a filtering mechanism by examining shell output for the shell prompt.
ShellTimeoutException The shell operation timed out.
SSHConnector This utility class establishes a connection with an SSH server, determines which SSH protocol versions are supported and creates an initialized connection ready for authentication.
SSHDSAPrivateKey This class provides the SSHPrivateKey implementation for an SSH DSA private key.
SSHException Generic exception for J2SSH Maverick exception handling. When an exception is thrown a reason is attached to the exception so that the developer can determine if its possible to proceed with the connection.
SSHKeyFingerprint Utility methods to generate an SSH public key fingerprint.
SSHKeyPair This class holds a public/private key pair.
SSHRSAPrivateCrtKey This class provides an SSHPrivateKey implementation of an SSH RSA key which supports the Chinese Remainder Theorem(CRT) representation to speed up private key operations.
SSHRSAPrivateKey This class provides an SSHPrivateKey implementation of an SSH RSA private key.
SubsystemChannel This class provides useful methods for implementing an SSH2 subsystem.
TcpClientTransport A basic implementation of an SSH transport using System.Net.Socket and a NetworkStream.

Interfaces

Interface Description
ForwardingRequestListener This interface is required when a request for remote port forwarding is made. The methods enable you to establish a connection to the host and initialize the forwarding channel before it is opened.
HostKeyVerification This interface provides a callback method so that the user can verify the identity of the server (by checking the public key) during the initial protocol negotiation.
Matcher An interface to match an input line with a given pattern.
SSHAuthentication The base interface of all SSH authentication mechanisms.
SSHChannel The base interface for all SSH channels. SSH Channels enable the multiplexing of several unique data channels over a single SSH connection, each channel is identified by an unique ID and provides a Stream for sending and recieving data.
SSHClient This interface defines the general contract for an SSH client that is compatible for both the SSH1 and SSH2 protocols.
SSHContext This interface defines the general configuration items available to both SSH1 and SSH2.
SSHIO Base interface for all SSH related IO interfaces.
SSHPrivateKey This interface defines the contract for an SSH private key.
SSHPublicKey Interface for SSH supported public keys.
SSHSession Base interface for SSH sessions supporting all the features common to both SSH1 and SSH2.
SSHTransport Simple interface for transport layer communication. An SSH connection requires a transport layer for communication and this interface defines the general contract. Typically SSH will execute over a TCP/IP socket however the use of this interface allows any type of interface that exposes a System.IO.Stream.
SSHTunnel Interface defining the contract for SSH forwarding channels.

Delegates

Delegate Description
ChannelStateListener A delegate for receiving ChannelState change events.
DataListener A delegate for receiving notification of SSHChannel data events.
SSHStateListener A delegate for notification of SSHState change events

Enumerations

Enumeration Description
AuthenticationResult An enumeration of the available authentication results.
ChannelState An enumeration of channel states. The channel is either OPEN or CLOSED however each side of the connection may also be in an EOF state which indicates that they will no longer be sending any data.
ForwardingChannelType Types of forwarding channels
OSType An enumeration of operating system types.
SSHState An enumeration of SSH client states.
TcpClientProxy An enumeration of values for defining the proxy type of a TcpClientTransport.