# ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — List currently authorized publickeys

### Description

ssh2_publickey_list ( resource `$pkey` ) : array

List currently authorized publickeys.

### Parameters

`pkey`

  Publickey Subsystem resource

### Return Values

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

Publickey elements
Array Key | Meaning
--- | ---
name | Name of algorithm used by this publickey, for example: `ssh-dss` or `ssh-rsa`.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is `comment`, which may be any freeform string.

### Examples

Example #1 Listing authorized keys with ssh2_publickey_list()

`<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);
$list = ssh2_publickey_list($pkey);
foreach($list as $key) {
echo "Key: {$key['name']}\n";
echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>`

The above example will output:

    Key: ssh-rsa
    Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
    TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
    4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
    Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
    HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
    Comment: John's Key

    Key: ssh-rsa
    Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
    AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
    qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
    RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
    SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
    Comment: Alice's Key

### Notes

> Note: The public key subsystem is used for managing public keys on a server to which the client is already authenticated. To authenticate to a remote system using public key authentication, use the ssh2_auth_pubkey_file() function instead.

### See Also

- ssh2_publickey_init() - Initialize Publickey subsystem
- ssh2_publickey_add() - Add an authorized publickey
- ssh2_publickey_remove() - Remove an authorized publickey