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.
-
username
-
Name 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
privkey is encrypted (which it should
be), the passphrase must be provided.
戻り値
成功した場合に true を、失敗した場合に false を返します。
例
例1 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');
}
?>
注意
注意:
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.