そのまんま!

ssh2_publickey_list

(PECL)

ssh2_publickey_list --  現在認証済みの公開鍵の一覧を表示する

説明

array ssh2_publickey_list ( resource pkey )

注意: この公開鍵サブシステムは、クライアントが認証 の 公開鍵をサーバ上で管理するために使用されます。 公開鍵認証によりリモートシステムで認証を行うには、かわりに ssh2_auth_pubkey_file() 関数を使用してください。

パラメータ

pkey

公開鍵サブシステムのリソース。

返り値

鍵を、数値添字の配列で返します。 個々の要素は連想配列となっており、その内容は name、blob、および attrs です。

表 1. 公開鍵の要素

配列のキー意味
name この公開鍵で使用しているアルゴリズムの名前。例: ssh-dss あるいは ssh-rsa
blob生のバイナリデータとしての blob 形式の公開鍵。
attrs この公開鍵に割り当てる属性。 もっとも一般的な属性であり、バージョン 1 の公開鍵サーバが唯一サポートしている属性は comment です。これは任意の書式の文字列です。

例 1. 認証済みの鍵の一覧を 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";
}
?>

上の例の出力は以下となります。

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

参考

ssh2_publickey_init()
ssh2_publickey_add()
ssh2_publickey_remove()