(PECL ssh2 >= 0.10)
ssh2_publickey_list — 列出目前授權的公開金鑰
pkey
公開金鑰子系統資源
返回一個以數字索引的金鑰陣列,每個金鑰都是一個包含 name、blob 和 attrs 元素的關聯式陣列。
陣列鍵值 | 意義 |
---|---|
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_auth_pubkey_file() 函式。