PHP.nl

ssh2_auth_pubkey

ssh2_auth_pubkey

Authenticate using a public key in a variable

bool **ssh2_auth_pubkey** resource $session string $username string $pubkey string $privkey string $passphrase

Authenticate using a public key in a variable.

session An SSH connection link identifier, obtained from a call to . ssh2_connect

usernameName of the user to authenticate as on the remote server.

pubkey Public key in OpenSSH's format. It should look something like:

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

privkey Private OpenSSH key. It should begin with:

 `-----BEGIN RSA PRIVATE KEY-----`

passphrase If is encrypted (which it should be), the must be provided. privkey``passphrase

return.success

Voorbeeld: Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));
$publicKey = file_get_contents('/home/username/.ssh/id_rsa.pub');
$privateKey = file_get_contents('/home/username/.ssh/id_rsa');

if (ssh2_auth_pubkey($connection, 'username',
                     $publicKey,
                     $privateKey, 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

Opmerking: > 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 in order to complete authentication. ssh2_auth_password

ssh2_auth_pubkey_file