(PECL ssh2 >= 0.10)
ssh2_publickey_add — 添加授权公钥
$pkey
,$algoname
,$blob
,$overwrite
= false
,$attributes
= ?注意: 公钥子系统用于管理服务器上的公钥,客户端已对其进行身份验证。要使用公钥身份验证对远程系统进行身份验证,请改用 ssh2_auth_pubkey_file() 函数。
pkey
由 ssh2_publickey_init() 创建的公钥子系统资源。
algoname
公钥算法(例如):ssh-dss、ssh-rsa
blob
作为原始二进制数据的公钥 blob
overwrite
如果指定的密钥已存在,是否应覆盖它?
attributes
要分配给此公钥的关联属性数组。有关支持的属性列表,请参阅 ietf-secsh-publickey-subsystem。要将属性标记为必填,请在其名称前加上星号。如果服务器无法支持标记为必填的属性,它将中止添加过程。
示例 #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"));
?>