IP*Works! SSH V9 - Online Help
IP*Works! SSH V9
Questions / Feedback?

SSHTunnel Component

Properties   Methods   Events   Configuration Settings   Errors  

The SSHTunnel component can be used to tunnel data through an SSH server to a remote location.

Syntax

nsoftware.IPWorksSSH.Sshtunnel

Remarks

The SSHTunnel component implements a daemon that accepts connections and tunnels the data from those connections over a Secure Shell (SSH) connection to a remote location.

First, set SSHHost to the server you wish to use to tunnel the data. SSHUser, SSHPassword and SSHCert can be used to authenticate the tunneling connection.

Second, set SSHForwardHost to the hostname or IP address of the destination machine, and SSHForwardPort to the port to which you wish to send data. Finally, set Listening to true. The component will listen for connections on the interface identified by LocalHost and LocalPort.

When a client attempts to connect to the component, the component will fire a ConnectionRequest event that can be used to accept or reject the connection. If the connection is accepted, the component will attempt to logon to the SSHHost, and will tell the server to connect remotely to another machine. Once this process is complete, the tunnel will be established and data can be securely transmitted from end to end.

Example: Connecting Between Networks

A client which exists in Network A wishes to connect to resource that exists in Network B. Both networks are secured by a firewall, making it difficult to freely connect to resources within the other network. However, Network B contains an SSH server which supports tunneling. An SSHTunnel component set up with Network A can be used to access any resource in Network B.

The SSHHost and SSHPort property must be set to the hostname and port exposed by Network B's firewall. SSHForwardHost and SSHForwardPort are then set to the value of the resource within Network B to which the client in Network A wishes to connect. Any client in Network A can then connect to the SSHTunnel instance's LocalHost and LocalPort.

As clients within Network A connect to the SSHTunnel, the component will forward the connections, secured by SSH, through the network firewalls to the SSH server in Network B. The SSH server will then connect to the resource within Network B and forward all data received from the SSHTunnel instance to that resource. All data received from the resource will then be forwarded back to the original client in Network A.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

ConnectedTriggers a connection or disconnection.
ConnectionBacklogThe maximum number of pending connections maintained by the TCP/IP subsystem.
ConnectionsA collection of currently connected clients.
DefaultEOLA default EOL value to be used by incoming connections.
DefaultSingleLineModeTells the component whether or not to treat new connections as line-oriented.
DefaultTimeoutAn initial timeout value to be used by incoming connections.
FirewallA set of properties related to firewall access.
KeepAliveWhen True, KEEPALIVE packets are enabled (for long connections).
LingerWhen set to True, connections are terminated gracefully.
ListeningIf True, the component accepts incoming connections on LocalPort.
LocalHostThe name of the local host or user-assigned IP interface through which connections are initiated or accepted.
LocalPortThe TCP port in the local host where IPPort binds.
SSHAcceptServerHostKeyInstructs the component to accept the server host key that matches the supplied key.
SSHAuthModeThe authentication method to be used the component when calling SSHLogon .
SSHCertA certificate to be used for authenticating the SSHUser .
SSHCompressionAlgorithmsA comma-separated list containing all allowable compression algorithms.
SSHEncryptionAlgorithmsA comma-separated list containing all allowable compression algorithms.
SSHForwardHostThe address of the remote host. Domain names are resolved to IP addresses.
SSHForwardPortThe TCP port in the remote host.
SSHHostThe address of the SSH host.
SSHPasswordThe password for SSH password-based authentication.
SSHPortThe port on the SSH server where the SSH service is running; by default, 22.
SSHUserThe username for SSH authentication.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting .
DecodePacketDecodes a hex-encoded SSH packet.
DisconnectDisconnect the specified client.
DoEventsProcesses events from the internal message queue.
EncodePacketHex encodes an SSH packet.
GetSSHParamUsed to read a field from an SSH packet's payload.
GetSSHParamBytesUsed to read a field from an SSH packet's payload.
SetSSHParamUsed to write a field to the end of a payload.
ShutdownShuts down the server.

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.

ConnectedFired immediately after a connection completes (or fails).
ConnectionRequestFired when a request for connection comes from a remote host.
DataInFired when data comes in.
DisconnectedFired when a connection is closed.
ErrorInformation about errors during data delivery.
SSHCustomAuthFired when the component is doing custom authentication.
SSHKeyboardInteractiveFired when the component receives a request for user input from the server.
SSHServerAuthenticationFired after the server presents its public key to the client.
SSHStatusShows 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.

ClientSSHVersionStringThe SSH version string used by the component.
SignedSSHCertThe CA signed client public key used when authenticating.
SSHAcceptServerCAKeyThe CA public key that signed the server's host key.
SSHAcceptAnyServerHostKeyIf set the component will accept any key presented by the server.
SSHAcceptServerHostKeyFingerPrintThe fingerprint of the server key to accept.
SSHKeyExchangeAlgorithmsSpecifies the supported key exchange algorithms.
SSHMacAlgorithmsSpecifies the supported Mac algorithms.
SSHKeyRenegotiateCauses the component to renegotiate the SSH keys.
KeyRenegotiationThresholdSets the threshold for the SSH Key Renegotiation.
KerberosRealmThe fully qualified domain name of the Kerberos Realm to use for GSSAPI authentication.
KerberosDelegationIf true, asks for credentials with delegation enabled during authentication.
KerberosSPNThe Kerberos Service Principal Name of the SSH host.
LogSSHPacketsIf true, detailed SSH packet logging is performed.
MaxPacketSizeThe maximum packet size of the channel, in bytes.
MaxWindowSizeThe maximum window size allowed for the channel, in bytes.
PreferredDHGroupBitsThe size (in bits) of the preferred modulus (p) to request from the server.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe TCP port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
RecordLengthThe length of received data records.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
UseIPv6Whether to use IPv6.
TcpNoDelayWhether or not to delay when sending packets.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
BindExclusivelyWhether or not the component considers a local port reserved for exclusive use.
InBufferSizeThe size in bytes of the incoming queue of the socket.
MaxConnectionsThe maximum number of connections available.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
RecordLength[ConnectionId]The length of received data records.
TcpNoDelayWhether or not to delay when sending packets.
CodePageThe system code page used for Unicode to Multibyte translations.

 
 
Copyright (c) 2017 /n software inc. - All rights reserved.
Build 9.0.6240.0