(PECL ssh2 >= 0.9.0)
ssh2_auth_pubkey_file — Identificación utilizando una clave pública
$session,$username,$pubkeyfile,$privkeyfile,$passphrase = ?Identificación utilizando una clave pública, leída desde un fichero.
sessionusernamepubkeyfileprivkeyfilepassphraseprivkeyfile está cifrado (y debe estarlo),
la frase de paso debe ser proporcionada.
Ejemplo #1 Identificación utilizando una clave pública
<?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 "Identificación exitosa utilizando una clave pública\n";
} else {
die('Fallo en la identificación utilizando una clave pública');
}
?>Nota: La biblioteca libssh subyacente no soporta muy limpiamente las autenticaciones parciales. Es decir, que si debe proporcionar a la vez una clave pública y una contraseña, entonces parecerá como si la función estuviera en error. En este caso particular, un error en esta llamada puede simplemente significar que la autenticación no está aún terminada. Debe ignorar este error y continuar con la llamada ssh2_auth_password() para terminar la autenticación.