PHP Conference Nagoya 2025

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add Добавляет авторизованный открытый ключ

Описание

ssh2_publickey_add(
    resource $pkey,
    string $algoname,
    string $blob,
    bool $overwrite = false,
    array $attributes = ?
): bool

Замечание: Через подсистему открытых ключей управляют открытыми ключами на сервере, на котором клиент уже прошёл аутентификацию. Вместо этого для аутентификации с открытым ключом на удалённой системе вызывают функцию ssh2_auth_pubkey_file().

Список параметров

pkey

Ресурс подсистемы открытого ключа, созданный с помощью ssh2_publickey_init().

algoname

Алгоритм ключа: ssh-dss, ssh-rsa

blob

Бинарная строка, содержащая открытый ключ

overwrite

Нужно ли перезаписать ключ, если он уже есть?

attributes

Ассоциативный массив атрибутов, присваиваемых открытому ключу. Список поддерживаемых атрибутов ищите по словам "ietf-secsh-publickey-subsystem". Для указания какого-либо атрибута обязательным, поставьте перед именем звёздочку. Если сервер не поддерживает какой-либо атрибут, помеченный обязательным - это прервёт процесс добавления.

Возвращаемые значения

Функция возвращает 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"));
?>

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top