libssh2_session_handshake(3) libssh2 libssh2_session_handshake(3)

libssh2_session_handshake - perform the SSH handshake

#include <libssh2.h>
libssh2_session_handshake(LIBSSH2_SESSION *session, libssh2_socket_t socket);

session - Session instance as returned by libssh2_session_init_ex(3)

socket - Connected socket descriptor. Typically a TCP connection though the protocol allows for any reliable transport and the library will attempt to use any berkeley socket.

Begin transport layer protocol negotiation with the connected host.

Returns 0 on success, negative on failure.

LIBSSH2_ERROR_SOCKET_NONE - The socket is invalid.

LIBSSH2_ERROR_BANNER_SEND - Unable to send banner to remote host.

LIBSSH2_ERROR_KEX_FAILURE - Encryption key exchange with the remote host failed.

LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket.

LIBSSH2_ERROR_SOCKET_DISCONNECT - The socket was disconnected.

LIBSSH2_ERROR_PROTO - An invalid SSH protocol response was received on the socket.

LIBSSH2_ERROR_EAGAIN - Marked for non-blocking I/O but the call would block.

Added in 1.2.8

libssh2_session_free(3) libssh2_session_init_ex(3)

7 Oct 2010 libssh2