GoLang ssh2_publickey_list

request it (358)
GoLang replacement for PHP's ssh2_publickey_list [edit | history]



Do you know a GoLang replacement for PHP's ssh2_publickey_list? Write it!

PHP ssh2_publickey_list

PHP original manual for ssh2_publickey_list [ show | php.net ]

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list List currently authorized publickeys

Description

array ssh2_publickey_list ( resource $pkey )

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