mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH libssh2_userauth_keyboard_interactive_ex 3 "8 Mar 2008" "libssh2 0.19" "libssh2"
 | |
| .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));
 | |
| .fi
 | |
| .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 is not 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.
 | |
| 
 | |
| \fILIBSSH2_ERROR_AUTHENTICATION_FAILED\fP - failed, invalid username/password
 | |
| or public/private key.
 | |
| .SH SEE ALSO
 | |
| .BR libssh2_session_init_ex(3)
 |