ssh_auth(3)

ssh_auth3

Functions to authenticate

Detailed Description

functions to authenticate

Function Documentation

int ssh_userauth_autopubkey (SSH_SESSION * session)

Tries to automaticaly authenticate with public key and 'none'.

it may fail, for instance it doesn't ask for a password and uses a default asker for passphrases (in case the private key is encrypted)

Parameters:

session ssh session

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : Authentication failed : use another method

SSH_AUTH_PARTIAL : You've been partially authenticated, you still have to use another method

SSH_AUTH_SUCCESS : Authentication success

See also:

ssh_userauth_kbdint()

ssh_userauth_password()

ssh_options_set_identity()

int ssh_userauth_kbdint (SSH_SESSION * session, char * user, char * submethods)

Try to authenticate through the 'keyboard-interactive' method.

Parameters:

session ssh session
user username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.
submethods undocumented. Set it to NULL

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : Authentication failed : use another method

SSH_AUTH_PARTIAL : You've been partially authenticated, you still have to use another method

SSH_AUTH_SUCCESS : Authentication success

SSH_AUTH_INFO : The server asked some questions. Use ssh_userauth_kbdint_getnprompts() and such.

See also:

ssh_userauth_kbdint_getnprompts()

ssh_userauth_kbdint_getname()

ssh_userauth_kbdint_getinstruction()

ssh_userauth_kbdint_getprompt()

ssh_userauth_kbdint_setanswer()

char* ssh_userauth_kbdint_getinstruction (SSH_SESSION * session)

get the 'instruction' of the message block

You have called ssh_userauth_kbdint() and got SSH_AUTH_INFO. this function returns the questions from the server

Parameters:

session ssh session

Returns:

instruction of the message block

char* ssh_userauth_kbdint_getname (SSH_SESSION * session)

get the 'name' of the message block

You have called ssh_userauth_kbdint() and got SSH_AUTH_INFO. this function returns the questions from the server

Parameters:

session ssh session

Returns:

name of the message block. Do not free it

int ssh_userauth_kbdint_getnprompts (SSH_SESSION * session)

get the number of prompts (questions) the server has given

You have called ssh_userauth_kbdint() and got SSH_AUTH_INFO. this function returns the questions from the server

Parameters:

session ssh session

Returns:

number of prompts

char* ssh_userauth_kbdint_getprompt (SSH_SESSION * session, int i, char * echo)

get a prompt from a message block

You have called ssh_userauth_kbdint() and got SSH_AUTH_INFO. this function returns the questions from the server

Parameters:

session ssh session
i index number of the ith prompt
echo when different of NULL, it will obtain a boolean meaning that the resulting user input should be echoed or not (like passwords)

Returns:

pointer to the prompt. Do not free it

void ssh_userauth_kbdint_setanswer (SSH_SESSION * session, unsigned int i, char * answer)

set the answer for a question from a message block.

You have called ssh_userauth_kbdint() and got SSH_AUTH_INFO. this function returns the questions from the server

Parameters:

session ssh session
i index number of the ith prompt
answer answer to give to server

int ssh_userauth_none (SSH_SESSION * session, char * username)

Try to authenticate through the 'none' method.

Parameters:

session ssh session
username username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : Authentication failed : use another method

SSH_AUTH_PARTIAL : You've been partially authenticated, you still have to use another method

SSH_AUTH_SUCCESS : Authentication success

int ssh_userauth_offer_pubkey (SSH_SESSION * session, char * username, int type, STRING * publickey)

Try to authenticate through public key.

Parameters:

session ssh session
username username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.
type type of public key. This value is given by publickey_from_file()
publickey a public key returned by publickey_from_file()

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : The server doesn't accept that public key as an authentication token. Try another key or another method

SSH_AUTH_SUCCESS : The public key is accepted, you want now to use ssh_userauth_pubkey()

See also:

publickey_from_file()

privatekey_from_file()

ssh_userauth_pubkey()

int ssh_userauth_password (SSH_SESSION * session, char * username, char * password)

Try to authenticate by password.

Parameters:

session ssh session
username username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.
password password to use. Take care to clean it after authentication

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : Authentication failed : use another method

SSH_AUTH_PARTIAL : You've been partially authenticated, you still have to use another method

SSH_AUTH_SUCCESS : Authentication success

See also:

ssh_userauth_kbdint()

int ssh_userauth_pubkey (SSH_SESSION * session, char * username, STRING * publickey, PRIVATE_KEY * privatekey)

Try to authenticate through public key.

Parameters:

session ssh session
username username to authenticate. You can specify NULL if ssh_option_set_username() has been used. You cannot try two different logins in a row.
publickey a public key returned by publickey_from_file()
privatekey a private key returned by privatekey_from_file()

Returns:

SSH_AUTH_ERROR : a serious error happened

SSH_AUTH_DENIED : Authentication failed : use another method

SSH_AUTH_PARTIAL : You've been partially authenticated, you still have to use another method

SSH_AUTH_SUCCESS : Authentication success

See also:

publickey_from_file()

privatekey_from_file()

private_key_free()

ssh_userauth_offer_pubkey()

From libssh-2-doc 0.2+svn20070321-4 in Debian 5.0 (Lenny). Parsed by carta from the page's man source.