(PECL ssh2 >= 0.10)
ssh2_publickey_add — Add an authorized publickey
$pkey
,$algoname
,$blob
,$overwrite
= false
,$attributes
= ?注意: 公鑰子系統用于管理服務(wù)器到已被認證的客戶(hù)端的公鑰。要用公鑰認證方法來(lái)認證遠程系統,應使用 ssh2_auth_pubkey_file() 函數。
pkey
Publickey Subsystem resource created by ssh2_publickey_init().
algoname
Publickey algorithm (e.g.): ssh-dss, ssh-rsa
blob
Publickey blob as raw binary data
overwrite
If the specified key already exists, should it be overwritten?
attributes
Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。
示例 #1 Adding a publickey with 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"));
?>