ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_fileIdentification en utilisant une clé publique

Description

ssh2_auth_pubkey_file ( resource $session , string $username , string $pubkeyfile , string $privkeyfile [, string $passphrase ] ) : bool

Identification en utilisant une clé publique, lue depuis un fichier.

Liste de paramètres

session

Un identifiant de connexion SSH, obtenu depuis la fonction ssh2_connect().

username

pubkeyfile

Le fichier contenant la clé publique doit être au format OpenSSH. Il doit ressembler à ceci :

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkeyfile

La clé privée doit être au format PEM

passphrase

Si privkeyfile est chiffré (et doit l'être), la passe-phrase doit être fournie.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Identification en utilisant une clé publique

<?php
$connection 
ssh2_connect('shell.example.com'22, array('hostkey'=>'ssh-rsa'));

if (
ssh2_auth_pubkey_file($connection'username',
                          
'/home/username/.ssh/id_rsa.pub',
                          
'/home/username/.ssh/id_rsa''secret')) {
  echo 
"Identification réussie en utilisant une clé publique\n";
} else {
  die(
'Echec de l\'identification en utilisant une clé publique');
}
?>

Notes

Note:

La bibliothèque libssh sous-jacente ne supporte pas très proprement les authentifications partielles. C'est à dire que si vous devez fournir à la fois une clé publique et un mot de passe alors cela apparaitra comme si la fonction est en erreur. Dans ce cas particulier, une erreur sur cet appel peut juste signifier que l'authentification n'est pas encore terminée. Vous devez ignorer cette erreur et continuer avec l'appel ssh2_auth_password() pour terminer l'authentification.