(PECL ssh2 >= 0.10)
ssh2_publickey_add — Adiciona uma chave pública autorizada
$pkey
,$algoname
,$blob
,$overwrite
= false
,$attributes
= ?Nota: O subsistema de chave pública é usado para gerenciar chaves públicas em um servidor no qual o cliente já está autenticado. Para autenticar em um servidor remoto usando autenticação com chave pública, use a função ssh2_auth_pubkey_file().
pkey
Recurso do subsistema de chave pública criado por ssh2_publickey_init().
algoname
Algoritmo de chave pública (por exemplo): ssh-dss, ssh-rsa
blob
Blob de chave pública como dados binários brutos
overwrite
Se a chave especificada já existir, ela deverá ser substituída?
attributes
Array associativo de atributos a serem atribuídos a esta chave pública. Consulte ietf-secsh-publickey-subsystem para obter uma lista de atributos suportados. Para marcar um atributo como obrigatório, coloque um asterisco antes do seu nome. Se o servidor não suportar um atributo marcado como obrigatório, o processo de adição será abortado.
Exemplo #1 Adicionando uma chave pública com 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'=>"Chave de John"));
?>