Аутентифицирует клиента путём считывания открытого ключа из файла

# ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Аутентифицирует клиента путём считывания открытого ключа из файла

### Описание

function 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`
  Путь к файлу закрытого OpenSSH-ключа.
`passphrase`
  Парольная фраза для расшифровки закрытого ключа `privkey`. Парольную фразу передают в параметр `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, на базе которой работает PHP-модуль SSH2, не поддерживает частичное подтверждение подлинности на серверах с многофакторной аутентификацией, при которой требуется проверка и открытого ключа, и пароля. Поэтому на шаге проверки открытого ключа возврат значения `false` часто указывает не на ошибку, а только на незавершённость процесса аутентификации. При многоступенчатой аутентификации ошибку игнорируют и вызывают функцию ssh2_auth_password(), чтобы завершить аутентификацию.

### Смотрите также

- ssh2_auth_pubkey() - Аутентифицирует клиента по открытому ключу в переменной

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open