ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_fileАутентификация с открытым ключем

Описание

ssh2_auth_pubkey_file ( resource $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() для завершения аутентификации.