Establish an interactive terminal session with an SSH server and
execute remote commands.
Reference
Control Information
| Object Name |
SshClientCtl.SshClient |
| File Name |
CSTSHX12.OCX |
| Version |
12.0.3024.1286 |
| ProgID |
SocketTools.SshClient.12 |
| ClassID |
B0BEA64A-6C30-46BB-9ABB-B0B80553050F |
| Threading Model |
Apartment |
| Help File |
CST12CTL.CHM |
| Dependencies |
None |
| Standards |
RFC 4251 |
Overview
The Secure Shell (SSH) protocol ActiveX control is used to
establish a secure connection with a server which provides a virtual
terminal session for a user. Its functionality is similar to how
character based consoles and serial terminals work, enabling a user
to login to the server, execute commands and interact with
applications running on the server. The control provides an
interface for establishing the connection and handling the standard
I/O functions needed by the program.
Standard password and private key authentication methods are
supported. The control will automatically select the strongest cipher
suite available to both the client and server, providing support for
AES-256 encryption and elliptical curve key exchance algorithms like
ECDH and Curve25519. The control also supports some legacy algortithms
for backwards compatibility with older servers but will only use them
if no other options are available. If the server you are connecting
with is based on OpenSSH, we recommend using OpenSSH 7.0 or later.
Earlier versions of OpenSSH may request the use of encryption
algorithms which are no longer considered secure.
The control includes methods which enable a program to easily scan
the data stream for specific sequences of characters, making it very
simple to write light-weight client interfaces to applications running
on the server. It can be combined with the
Terminal Emulation control
to provide terminal emulation services for a standard ANSI
or DEC-VT220 terminal.
Important: The Secure Shell (SSH) control provides a secure,
encrypted alternative to legacy protocols such as Remote Shell
(rsh/rcmd), Remote Login (rlogin), and Telnet. Unlike those older
protocols, SSH uses strong authentication and end-to-end encryption to
protect user credentials, command input, and output data from
interception or tampering. SSH is the recommended protocol for remote
command execution and interactive terminal sessions, particularly when
connecting over public or untrusted networks. It ensures
confidentiality and integrity of data in transit, and is widely
supported on modern operating systems and network infrastructure. If
you are currently using Telnet or Remote Shell in your applications,
you are strongly encouraged to migrate to the Secure Shell API. These
older protocols are inherently insecure and should not be used in any
context where data security matters.
Requirements
The SocketTools ActiveX Edition components are self-registering
controls that are compatible with any programming language that
supports the Component Object Model (COM) and the ActiveX control
specification. If you are using Visual Basic 6.0, Service Pack 6 (SP6)
is required. We recommend installing all available updates for your
development tools. Although the Visual Basic 6.0 runtime is supported
on Windows 11, the IDE itself is no longer officially supported by
Microsoft. Legacy IDEs and compilers may also require elevated
(administrator) privileges to run properly.
The ActiveX controls are supported on Windows 7, Windows Server
2008 R2, and later versions of both desktop and server editions of
Windows. For Windows 7, Service Pack 1 (SP1) is the minimum
requirement. For Windows 8 systems, the 8.1 update must be installed.
On ARM-based platforms, the minimum supported version is Windows 10
build 1709.
SocketTools includes components for both 32-bit (x86) and 64-bit
(x64) Windows platforms. All modern versions of Windows are 64-bit,
but we continue to include 32-bit components for compatibility with
legacy development tools such as Visual Basic 6.0. We also provide
native ARM64 ActiveX controls for systems running Windows on ARM. Note
that 32-bit applications on ARM run using x86 emulation, and Microsoft
no longer supports native ARM32 applications.
If you are using VBScript, Visual Basic for Applications (VBA), or
another scripting environment on an ARM-based system, be aware that
64-bit hosts will require ARM64 components, while 32-bit hosts will
use x86 components under emulation. This includes applications created
with Visual Basic 6.0. To reduce deployment complexity and avoid
confusion, SocketTools does not include ARM32 ActiveX controls in its
standard redistribution packages but they are available on request for
legacy or specialized scenarios.
Distribution
When you distribute an application that uses this control, you can
either install the file in the same folder as your application
executable or as a shared component in the appropriate system folder.
If you install the control in the system folder, it is important that
you distribute the correct version for the target platform and it
must be registered. If you install the control in the same folder as
your executable, it is recommended that you use registration-free
activation or COM redirection to ensure that the correct version of
the control is loaded by the application.
|