libssh2_userauth_list(3) libssh2 manual libssh2_userauth_list(3)NAME
libssh2_userauth_list - list supported authentication methods
SYNOPSIS
#include <libssh2.h>
char *
libssh2_userauth_list(LIBSSH2_SESSION *session, const char *username,
unsigned int username_len);
DESCRIPTION
session - Session instance as returned by libssh2_session_init_ex(3)
username - Username which will be used while authenticating. Note that most server implementations do not permit attempting authentication
with different usernames between requests. Therefore this must be the same username you will use on later userauth calls.
username_len - Length of username parameter.
Send a SSH_USERAUTH_NONE request to the remote host. Unless the remote host is configured to accept none as a viable authentication scheme
(unlikely), it will return SSH_USERAUTH_FAILURE along with a listing of what authentication schemes it does support. In the unlikely event
that none authentication succeeds, this method with return NULL. This case may be distinguished from a failing case by examining lib-
ssh2_userauth_authenticated(3).
RETURN VALUE
On success a comma delimited list of supported authentication schemes. This list is internally managed by libssh2. On failure ruturns
NULL.
ERRORS
LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed.
LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket.
LIBSSH2_ERROR_EAGAIN - Marked for non-blocking I/O but the call
SEE ALSO libssh2_session_init_ex(3)libssh2 0.15 1 Jun 2007 libssh2_userauth_list(3)
Check Out this Related Man Page
libssh2_userauth_keyboard_interactive_ex(3) libssh2 manual libssh2_userauth_keyboard_interactive_ex(3)NAME
libssh2_userauth_keyboard_interactive_ex - authenticate a session using keyboard-interactive 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));
DESCRIPTION
session - Session instance as returned by libssh2_session_init_ex(3).
username - Name of user to attempt keyboard-interactive authentication for.
username_len - Length of username parameter.
response_callback - As authentication proceeds, the host issues several (1 or more) challenges and requires responses. This callback will
be called at this moment. The 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. The callback prototype must match this:
void response(const char *name,
int name_len, const char *instruction,
int instruction_len,
int num_prompts,
const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts,
LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses,
void **abstract);
Attempts keyboard-interactive (challenge/response) authentication.
Note that many SSH servers will always issue a 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 8 Mar 2008 libssh2_userauth_keyboard_interactive_ex(3)