Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libssh2_userauth_publickey_frommemory (3ssh2)

Name

libssh2_userauth_publickey_frommemory - authenticate a session with a public key, read from memory

Synopsis

#include <libssh2.h>

int libssh2_userauth_publickey_frommemory(LIBSSH2_SESSION *session,
const char *username,
size_t username_len,
const char *publickeydata,
size_t publickeydata_len,
const char *privatekeydata,
size_t privatekeydata_len,
const char *passphrase);

Description

libssh2 manual                    libssh2_userauth_publickey_frommemory(3ssh2)



NAME
       libssh2_userauth_publickey_frommemory  -  authenticate a session with a
       public key, read from memory

SYNOPSIS
       #include <libssh2.h>

       int libssh2_userauth_publickey_frommemory(LIBSSH2_SESSION *session,
                                                  const char *username,
                                                  size_t username_len,
                                                  const char *publickeydata,
                                                  size_t publickeydata_len,
                                                  const char *privatekeydata,
                                                  size_t privatekeydata_len,
                                                  const char *passphrase);

DESCRIPTION
       This function allows to authenticate a session with a public  key  read
       from  memory.   It's  only supported when libssh2 is backed by OpenSSL.
       session - Session instance as returned by libssh2_session_init_ex(3)

       username - Remote user name to authenticate as.

       username_len - Length of username.

       publickeydata - Buffer containing the contents of a public key file.

       publickeydata_len - Length of public key data.

       privatekeydata - Buffer containing the contents of a private key file.

       privatekeydata_len - Length of private key data.

       passphrase - Passphrase to use when decoding private key file.

       Attempt public key authentication using a PEM encoded private key  file
       stored in memory.

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.

       LIBSSH2_ERROR_SOCKET_TIMEOUT -

       LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED - The username/public  key  combina-
       tion was invalid.

       LIBSSH2_ERROR_AUTHENTICATION_FAILED - Authentication using the supplied
       public key was not accepted.

AVAILABILITY
       libssh2_userauth_publickey_frommemory was added in libssh2 1.6.0


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 1.5                       1 Sep 2014
                                  libssh2_userauth_publickey_frommemory(3ssh2)