Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libssh2_userauth_keyboard_interactive_ex (3ssh2)

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

libssh2 manual                 libssh2_userauth_keyboard_interactive_ex(3ssh2)



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"  chal-
       lenge,  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  LIB-
       SSH2_ERROR_EAGAIN  when  it   would   otherwise   block.   While   LIB-
       SSH2_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.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/libssh2  |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       libssh2_session_init_ex(3)



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source   was   downloaded  from   https://www.libssh2.org/download/lib-
       ssh2-1.10.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.libssh2.org/.



libssh2 0.19                      8 Mar 2008
                               libssh2_userauth_keyboard_interactive_ex(3ssh2)