---
name: "libssh2_agent_get_identity"
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_get_identity"
---

# libssh2\_agent\_get\_identity(3)

get a public key off the collection of public keys managed by ssh-agent

## NAME

libssh2\_agent\_get\_identity - get a public key off the collection of public keys managed by ssh-agent

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_agent_get_identity(LIBSSH2_AGENT *agent,
                           struct libssh2_agent_publickey **store,
                           struct libssh2_agent_publickey *prev);
```

## DESCRIPTION

*[libssh2\_agent\_get\_identity(3)](/libssh2_agent_get_identity/3.md)* allows an application to iterate over all public keys in the collection managed by ssh-agent.

*store* should point to a pointer that gets filled in to point to the public key data.

*prev* is a pointer to a previous 'struct libssh2\_agent\_publickey' as returned by a previous invoke of this function, or NULL to get the first entry in the internal collection.

## RETURN VALUE

Returns 0 if everything is fine and information about a host was stored in the *store* struct.

Returns 1 if it reached the end of public keys.

Returns negative values for error

## AVAILABILITY

Added in libssh2 1.2

## SEE ALSO

**[libssh2\_agent\_list\_identities(3)](/libssh2_agent_list_identities/3.md)** **[libssh2\_agent\_userauth(3)](/libssh2_agent_userauth/3.md)**
