Sample code for 30+ languages & platforms
Lianja

Open an SSH Tunnel

See more Socket/SSL/TLS Examples

Demonstrates Socket.SshOpenTunnel, which connects to an SSH server and initializes an SSH tunneling session, then authenticates it.

Background. An SSH tunnel lets a socket reach a destination host through an SSH server using port forwarding. The sequence is: open the tunnel, authenticate, then open forwarded channels to destinations.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loSocket = createobject("CkSocket")

//  Connect to the SSH server and initialize an SSH tunneling session.  Port 22 is conventional but
//  not required.
llSuccess = loSocket.SshOpenTunnel("ssh.example.com",22)
if (llSuccess = .F.) then
    ? loSocket.LastErrorText
    release loSocket
    return
endif

//  After the tunnel is open, authenticate before opening forwarded channels.
//  The SSH password should come from a secure source rather than being hard-coded.
lcSshPassword = "mySshPassword"
llSuccess = loSocket.SshAuthenticatePw("sshUser",lcSshPassword)
if (llSuccess = .F.) then
    ? loSocket.LastErrorText
    release loSocket
    return
endif

? "SSH tunnel established and authenticated."


release loSocket