(PECL ssh2 >= 0.10)
ssh2_publickey_list — Список уже авторизованных открытых ключей
$pkey
) : arrayСписок в настоящее время авторизованных открытых ключей.
pkey
Ресурс подсистемы открытого ключа
Возвращает индексированный массив ключей, каждый из которых представляет из себя ассоциативный массив, содержащий элементы с ключами: name, blob, attrs.
Ключ массива | Что означает |
---|---|
name | Имя алгоритма, с помощью которого создавался ключ: ssh-dss или ssh-rsa. |
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().