SSHClient Component
Properties Methods Events Configuration Settings Errors
The SSHClient component implements a fully functional, open-ended SSH client.
Syntax
ipworksssh.Sshclient
Remarks
The SSHClient component can be used to perform any number of tasks secured by the Secure Shell (SSH) protocol. First set SSHHost, SSHUser and either SSHPassword or SSHCert , then call SSHLogon to establish a secure connection.
To open channels, use OpenChannel. To open a channel to tunnel data to a remote machine, call OpenTcpIpChannel. The Channels property contains a list of all of the channels open for the current instance of the component.
Once a "session" channel has been opened, you can call StartService to initialize a service on that channel. If you are using a "shell" service, you can call OpenTerminal to establish a pseudo-terminal for formatting the data output from the shell.
Data received from the server will be fired through SSHChannelData events. Any requests received can be processed through the SSHChannelRequest event.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
Channels | A collection of currently open channels. |
Connected | Triggers a connection or disconnection. |
Firewall | A set of properties related to firewall access. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where the component binds. |
SSHAcceptServerHostKey | Instructs the component to accept the server host key that matches the supplied key. |
SSHAuthMode | The authentication method to be used the component when calling SSHLogon . |
SSHCert | A certificate to be used for authenticating the SSHUser . |
SSHCompressionAlgorithms | A comma-separated list containing all allowable compression algorithms. |
SSHEncryptionAlgorithms | A comma-separated list containing all allowable encryption algorithms. |
SSHHost | The address of the SSH host. |
SSHKeyExchangeAlgorithms | A comma-separated list containing all allowable key exchange algorithms. |
SSHMacAlgorithms | A comma-separated list containing all allowable message authentication algorithms. |
SSHPassword | The password for SSH password-based authentication. |
SSHPort | The port on the SSH server where the SSH service is running; by default, 22. |
SSHPublicKeyAlgorithms | A comma-separated list containing all allowable public key authentication algorithms. |
SSHUser | The username for SSH authentication. |
Timeout | A timeout for the component. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
CloseChannel | Closes a existing SSHChannel . |
Config | Sets or retrieves a configuration setting. |
DecodePacket | Decodes a hex-encoded SSH packet. |
DoEvents | Processes events from the internal message queue. |
EncodePacket | Hex encodes an SSH packet. |
ExchangeKeys | Causes the component to exchange a new set of session keys with the SSHHost . |
GetSSHParam | Used to read a field from an SSH packet's payload. |
GetSSHParamBytes | Used to read a field from an SSH packet's payload. |
OpenChannel | Opens a new SSHChannel . |
OpenTcpIpChannel | Opens a special TCP/IP tunneling SSHChannel . |
OpenTerminal | Creates a pseudo-terminal to be used to help display data for a channel. |
Reset | Reset the component. |
SendChannelData | Used to send regular data over an SSH channel. |
SendSSHPacket | Used to send an encoded SSH packet to the server. |
SetSSHParam | Used to write a field to the end of a payload. |
SSHLogoff | Logoff from the SSH server. |
SSHLogon | Logon to the SSHHost using the current SSHUser and SSHPassword . |
StartService | Requests the given service on a target channel. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
Connected | Fired immediately after a connection completes (or fails). |
ConnectionStatus | Fired to indicate changes in connection state. |
Disconnected | Fired when a connection is closed. |
Error | Information about errors during data delivery. |
Log | Fires once for each log message. |
SSHChannelClosed | Fired when a channel is closed. |
SSHChannelData | Fired when the SSHHost sends channel data to the client. |
SSHChannelEOF | Fired when the remote peer signals the end of the data stream for the channel. |
SSHChannelOpened | Fired when a channel is successfully opened. |
SSHChannelOpenRequest | Fired when a host attempts to open a new channel. |
SSHChannelReadyToSend | Fired when the component is ready to send data. |
SSHChannelRequest | Fired when the SSHHost sends a channel request to the client. |
SSHChannelRequested | Fired if the SSHChannelRequest was successful, any further processing for the channel request should be done here. |
SSHCustomAuth | Fired when the component is doing custom authentication. |
SSHKeyboardInteractive | Fired when the component receives a request for user input from the server. |
SSHServerAuthentication | Fired after the server presents its public key to the client. |
SSHStatus | Shows the progress of the secure connection. |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
ClientSSHVersionString | The SSH version string used by the component. |
EnablePageantAuth | Whether to use a key stored in Pageant to perform client authentication. |
KerberosDelegation | If true, asks for credentials with delegation enabled during authentication. |
KerberosRealm | The fully qualified domain name of the Kerberos Realm to use for GSSAPI authentication. |
KerberosSPN | The Kerberos Service Principal Name of the SSH host. |
KeyRenegotiationThreshold | Sets the threshold for the SSH Key Renegotiation. |
LogLevel | Specifies the level of detail that is logged. |
MaxPacketSize | The maximum packet size of the channel, in bytes. |
MaxWindowSize | The maximum window size allowed for the channel, in bytes. |
PasswordPrompt | The text of the password prompt used in keyboard-interactive authentication. |
PreferredDHGroupBits | The size (in bits) of the preferred modulus (p) to request from the server. |
RecordLength | The length of received data records. |
ServerSSHVersionString | The remote host's SSH version string. |
SignedSSHCert | The CA signed client public key used when authenticating. |
SSHAcceptAnyServerHostKey | If set the component will accept any key presented by the server. |
SSHAcceptServerCAKey | The CA public key that signed the server's host key. |
SSHAcceptServerHostKeyFingerPrint | The fingerprint of the server key to accept. |
SSHFingerprintHashAlgorithm | The algorithm used to calculate the fingerprint. |
SSHFingerprintMD5 | The server hostkey's MD5 fingerprint. |
SSHFingerprintSHA1 | The server hostkey's SHA1 fingerprint. |
SSHFingerprintSHA256 | The server hostkey's SHA256 fingerprint. |
SSHKeepAliveCountMax | The maximum number of keep alive packets to send without a response. |
SSHKeepAliveInterval | The interval between keep alive packets. |
SSHKeyExchangeAlgorithms | Specifies the supported key exchange algorithms. |
SSHKeyRenegotiate | Causes the component to renegotiate the SSH keys. |
SSHMacAlgorithms | Specifies the supported Mac algorithms. |
SSHPubKeyAuthSigAlgorithms | Specifies the signature algorithm when attempting public key authentication. |
SSHPublicKeyAlgorithms | Specifies the supported public key algorithms. |
SSHVersionPattern | The pattern used to match the remote host's version string. |
TryAllAvailableAuthMethods | If set to true, the component will try all available authentication methods. |
WaitForChannelClose | Whether to wait for channels to be closed before disconnected. |
WaitForServerDisconnect | Whether to wait for the server to close the connection. |
CloseStreamAfterTransfer | If true, the component will close the upload or download stream after the transfer. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallListener | If true, the component binds to a SOCKS firewall as a server (IPPort only). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
ProxyExceptionsList | A semicolon separated list of hosts and IPs to bypass when using a proxy. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
TcpNoDelay | Whether or not to delay when sending packets. |
UseIPv6 | Whether to use IPv6. |
UseNTLMv2 | Whether to use NTLM V2. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
BuildInfo | Information about the product's build. |
GUIAvailable | Tells the component whether or not a message loop is available for processing events. |
LicenseInfo | Information about the current license. |
UseDaemonThreads | Whether threads created by the component are daemon threads. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |