Php/docs/function.ssh2-auth-pubkey-file
ssh2_auth_pubkey_file
(PECL ssh2 >= 0.9.0)
ssh2_auth_pubkey_file — Authenticate using a public key
说明
ssh2_auth_pubkey_file
( resource $session
, string $username
, string $pubkeyfile
, string $privkeyfile
[, string $passphrase
] ) : bool
Authenticate using a public key read from a file.
参数
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), thepassphrase
must be provided.
返回值
成功时返回 true
, 或者在失败时返回 false
。
范例
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');}?>
注释
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.