62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
|  | .\" Copyright (C) The libssh2 project and its contributors. | ||
|  | .\" SPDX-License-Identifier: BSD-3-Clause | ||
|  | .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) |