libssh2_channel_direct_tcpip_ex(3)

libssh2_channel_direct_tcpip_ex3

Tunnel a tcp connection through an ssh session

Usage

#include <libssh2.h>
LIBSSH2_CHANNEL *
libssh2_channel_direct_tcpip_ex(LIBSSH2_SESSION *session,
                                const char *host, int port,
                                const char *shost, int sport);
LIBSSH2_CHANNEL *
libssh2_channel_direct_tcpip(LIBSSH2_SESSION *session,
                             const char *host, int port);

Overview

session - Session instance as returned by libssh2_session_init_ex(3)

host - Third party host to connect to using the SSH host as a proxy.

port - Port on third party host to connect to.

shost - Host to tell the SSH server the connection originated on.

sport - Port to tell the SSH server the connection originated from.

Tunnel a TCP/IP connection through the SSH transport via the remote host to a third party. Communication from the client to the SSH server remains encrypted, communication from the server to the 3rd party host travels in cleartext.

Return value

Pointer to a newly allocated LIBSSH2_CHANNEL instance, or NULL on errors.

Errors

LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 3 times.

  1. 5.0
  2. 6.0
  3. 7–12
  4. 13–Arch

From libssh2 1.11.1-7 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.