---
name: "libssh2_agent_userauth"
section: "3"
platform: "linux"
package: "libssh2"
version: "1.11.1-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libssh2_agent_userauth"
---

# libssh2\_agent\_userauth(3)

authenticate a session with a public key, with the help of ssh-agent

## NAME

libssh2\_agent\_userauth - authenticate a session with a public key, with the help of ssh-agent

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_agent_userauth(LIBSSH2_AGENT *agent,
                       const char *username,
                       struct libssh2_agent_publickey *identity);
```

## DESCRIPTION

*agent* - ssh-agent handle as returned by **[libssh2\_agent\_init(3)](/libssh2_agent_init/3.md)**

*username* - Remote user name to authenticate as.

*identity* - Public key to authenticate with, as returned by **[libssh2\_agent\_get\_identity(3)](/libssh2_agent_get_identity/3.md)**

Attempt public key authentication with the help of ssh-agent.

## RETURN VALUE

Returns 0 if succeeded, or a negative value for error.

## AVAILABILITY

Added in libssh2 1.2

## SEE ALSO

**[libssh2\_agent\_init(3)](/libssh2_agent_init/3.md)** **[libssh2\_agent\_get\_identity(3)](/libssh2_agent_get_identity/3.md)** **[libssh2\_agent\_sign(3)](/libssh2_agent_sign/3.md)**
