ssh2_auth_pubkey_file
(PECL ssh2 >= 0.9.0)
ssh2_auth_pubkey_file — Аутентификация с открытым ключем
Описание
$session
, string $username
, string $pubkeyfile
, string $privkeyfile
, string $passphrase
= ?
) : boolАутентификация с открытым ключем, сохраненном в файле.
Список параметров
-
session
-
Идентификатор соединения SSH, полученный из ssh2_connect().
-
username
-
-
pubkeyfile
-
Открытый ключ в формате OpenSSH. Должен выглядеть примерно так:
ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
-
privkeyfile
-
-
passphrase
-
Если
privkeyfile
зашифрован (как должен бы), то необходимо предоставитьpassphrase
.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примеры
Пример #1 Аутентификация с открытым ключем
<?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 "Успешная аутентификация с открытым ключем\n";
} else {
die('Неудачная аутентификация с открытым ключем');
}
?>
Примечания
Замечание:
Основная библиотека libssh не поддеживает частичные аутентификации очень чисто. То есть, если вам нужно предоставить как открытый ключ, так и пароль, он будет выглядеть так, как если бы эта функция потерпела неудачу. В данном конкретном случае неудачный вызов может означать, что аутентификация не завершена. Вам нужно игнорировать это неудачное выполнение, продолжить работу и вызвать ssh2_auth_password() для завершения аутентификации.