Current File : //usr/man/man3ssh2/libssh2_userauth_keyboard_interactive_ex.3ssh2
'\" te
.TH libssh2_userauth_keyboard_interactive_ex 3 "8 Mar 2008" "libssh2 0.19" "libssh2 manual"
.SH NAME
libssh2_userauth_keyboard_interactive_ex - authenticate a session using
keyboard-interactive authentication
.SH SYNOPSIS
.nf
#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));
.SH DESCRIPTION
\fIsession\fP - Session instance as returned by
\fIlibssh2_session_init_ex(3)\fP.

\fIusername\fP - Name of user to attempt keyboard-interactive authentication
for.

\fIusername_len\fP - Length of username parameter.

\fIresponse_callback\fP - 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:

.nf
 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);
.fi

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.
.SH 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.
.SH ERRORS
\fILIBSSH2_ERROR_ALLOC\fP -  An internal memory allocation call failed.

\fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.

\fLIBSSH2_ERROR_AUTHENTICATION_FAILED\fP - failed, invalid username/password
or public/private key.

.\" Oracle has added the ARC stability level to this manual page
.SH ATTRIBUTES
See
.BR attributes (5)
for descriptions of the following attributes:
.sp
.TS
box;
cbp-1 | cbp-1
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE 
=
Availability	library/libssh2
=
Stability	Uncommitted
.TE 
.PP
.SH SEE ALSO
.BR libssh2_session_init_ex(3)


.SH NOTES

.\" Oracle has added source availability information to this manual page
This software was built from source available at https://java.net/projects/solaris-userland.  The original community source was downloaded from  http://www.libssh2.org/download/libssh2-1.4.2.tar.gz

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