(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
如果指定的 key 已經存在,是否要覆寫?
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"));
?>