NAME
libssh2_userauth_keyboard_interactive_ex - authenticate a session using
a challenge-response authentication
SYNOPSIS
#include <libssh2.h>
int libssh2_userauth_keyboard_interactive_ex(LIBSSH2_SESSION *session,
const char *username, unsigned int username_len,
LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC(*response_callback));
int libssh2_userauth_keyboard_interactive(LIBSSH2_SESSION *session,
const char *username,
LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC(*response_callback));
DESCRIPTION
session - Session instance as returned by libssh2_session_init_ex(3)
username - Name of user to attempt plain password authentication for.
username_len - Length of username parameter.
response_callback - As authentication proceeds, host issues several (1
or more) challenges and requires responses. This callback will be
called at this moment. Callback is responsible to obtain responses for
the challenges, fill the provided data structure and then return
control. Responses will be sent to the host. String values will be
free(3)ed by the library.
Attempts keyboard-interactive (challenge/response) authentication.
Note that many SSH servers will always issue single "password"
challenge, requesting actual password as response, but it is not
required by the protocol, and various authentication schemes, such as
smartcard authentication may use keyboard-interactive authentication
type too.
RETURN VALUE
Return 0 on success or negative on failure. It returns
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
LIBSSH2_ERROR_EAGAIN is a negative number, it isn’t really a failure
per se.
ERRORS
LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed.
LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket.
IBSSH2_ERROR_AUTHENTICATION_FAILED - failed, invalid username/password
or public/private key.
SEE ALSO
libssh2_session_init_ex(3)
libssh2 0.19 8libssh20userauth_keyboard_interactive_ex(3)