在线文档教程
PHP
联网 | Networking

ssh2_auth_pubkey_file

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Authenticate using a public key

Description

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

Authenticate using a public key read from a file.

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.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 Authentication using a public key

<?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 "Public Key Authentication Successful\n"; } else {   die('Public Key Authentication Failed' } ?>

Notes

Note: 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.

← ssh2_auth_password

ssh2_connect →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/function.ssh2-auth-pubkey-file.php