ssh2_auth_pubkey_file
Authenticate using a public key
&reftitle.description;
boolssh2_auth_pubkey_file
resourcesession
stringusername
stringpubkeyfile
stringprivkeyfile
stringpassphrase
Authenticate using a public key read from a file.
&reftitle.parameters;
session
An SSH connection link identifier, obtained from a call to
ssh2_connect.
username
pubkeyfile
The public key file needs to be in OpenSSH's format. It should look something like:
ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
privkeyfile
passphrase
If privkeyfile is encrypted (which it should
be), the passphrase must be provided.
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
Authentication using a public key
'ssh-rsa'));
if (ssh2_auth_pubkey_file($connection, 'username',
'/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret')) {
echo "Public Key Authentication Successful\n";
} else {
die('Public Key Authentication Failed');
}
?>
]]>
&reftitle.notes;
The underlying libssh library doesn't support partial auths very cleanly
That is, if you need to supply both a public key and a password it will
appear as if this function has failed. In this particular case a failure
from this call may just mean that auth hasn't been completed yet. You
would need to ignore this failure and continue on and call
ssh2_auth_password in order to complete
authentication.