(PECL ssh2 >= 0.10)
ssh2_publickey_add — Ajoute une clé publique autorisée
$pkey
, string $algoname
, string $blob
[, bool $overwrite
= false
[, array $attributes
]] )Note: Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par clé publique, utilisez la fonction ssh2_auth_pubkey_file() à la place.
pkey
Ressource Publickey Subsystem créée par ssh2_publickey_init().
algoname
Algorithme de clé publique (exemple) : ssh-dss, ssh-rsa
blob
Blob de clé publique comme données binaires brutes
overwrite
Si la clé spécifiée existe déjà, devrait-elle être écrasée ?
attributes
Tableau associatif d'attributs pour assigner à cette clé publique. Référez-vous à ietf-secsh-publickey-subsystem pour une liste des attributs supportés. Pour marquer un attribut comme obligatoire, précédez son nom par un astérisque. Si le serveur n'est pas capable de supporter un attribut marqué comme obligatoire, il abandonnera le processus d'ajout.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Ajout d'une clé publique avec 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"));
?>