TElIdSSHClient provides client-side functionality for SSH connections.
ElIdSSHClient is used to add SSH support to client side of TCP connection
(the client side is the side which initiates connection).
ElIdSSHClient uses Indy sockets as an underlying transport.
To initiate the connection call
To transfer the data over the secure SSH connection the Tunnel objects are used. Each tunnel represents a type of logical connection ( Shell, Command, Subsystem, TCP-IP local forwarding, TCP-IP remote forwarding, X11 forwarding). The Tunnel object may create a number of TunnelConnection class instances. Each TunnelConnection carries single logical connection. For example, if you want to forward the connections, accepted by remote port to your machine, you have to create one instance of TElRemotePortForwardSSHTunnel, and for each accepted connection on the server side one instance of TElSSHTunnelConnection class will be created.
By default, TElIdSSHClient is allowed to work using both SSH1 and SSH2 versions and all encryption, public key, key exchange and MAC algorithms. You can disable or enable some of versions using Versions property and disable or enable security properties with EncryptionAlgorithms, PublicKeyAlgorithms, MacAlgorithms, KexAlgorithms and CompressionAlgorithms properties.
When connection is established, connection version can be read from Version property.