(PECL ssh2 >= 0.10)
ssh2_publickey_add — Добавляет авторизованный открытый ключ
$pkey,$algoname,$blob,$overwrite = false,$attributes = ?Замечание: Через подсистему открытых ключей управляют открытыми ключами на сервере, на котором клиент уже прошёл аутентификацию. Вместо этого для аутентификации с открытым ключом на удалённой системе вызывают функцию ssh2_auth_pubkey_file().
pkeyalgonamebloboverwriteattributes
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
Пример #1 Добавляем открытый ключ с помощью ssh2_publickey_add()
<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);
$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');
ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>