Purpose: describe what ssh is, where to find it, and what connections to Tcl it has. is a good place to start.

Note that the security infrastructure of SSH is completely separate from that of SSL.

SSH — Secure (Remote) Shell
is typically used to connect securely to a machine where you have an account. At heart, it is a "secure telnet" which however can carry lots of other traffic (forwarded IP ports, file transfers) within the encrypted connection.
SSL — Secure Sockets Layer
provides a secure connection without requesting login, but the server is typically expected to authenticate its identity.

See for an open implementation of the secure protocol for starting shell commands across an inter/intranet. is another site at least associated with source code base for SSH implementations. may also be of interest.

Anyone know of a Tcl extension binding to one of the ssh libraries?

Perhaps D. J. Hagberg's example of port forwarding, from 1998 [L1 ] is useful.

CMcC I've thrown together some code to allow remote ssh tcl execution.

hkoba: You can also use comm via ssh to send/eval any script to remote host.

AMG: I whipped up a Tcl script that allows you to ssh to multiple hosts at the same time, using a single command and a single set of stdin/stdout/stderr. Try running bash with it, heh heh. (It really works!) For details, see multissh.

Justis: The TclCURL library seems to have some SSH features compiled into it: [L2 ]

Russell Treleaven reports [L3 ] that he successfully automates ssh client sessions on a Windows host with ActiveState's Expect and the ssh2 executable [L4 ]. He uses the "send slow" option. Both of these applications are proprietary.

TV I've within some limitations, used the cygwin ssh facility, which is quite extensive, except varying from a drag to requiring out of package documentation to install. It is almost unix, though. It also contains working executables to use openSSL to create and deal with certificates, I used it succesfully to make a secure httpd tick, except I forgot how.

See also