LonghornPHP 2026

ssh2_auth_pubkey

(PECL ssh2 >= 1.4.0)

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

Описание

function ssh2_auth_pubkey(
resource $session,
string $username,
string $pubkey,
string $privkey,
string $passphrase = ?
): bool

Функция аутентифицирует клиента по открытому ключу, который содержит переменная.

Список параметров

session

Идентификатор канала SSH-соединения, который вернула функция ssh2_connect() .

username

Имя пользователя, от лица которого требуется выполнить аутентификацию на удалённом сервере.

pubkey

Открытый ключ в формате OpenSSH, строка наподобие: ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

privkey

Закрытый OpenSSH-ключ, который начинается со строки: -----BEGIN RSA PRIVATE KEY-----

passphrase

Парольная фраза для расшифровки закрытого ключа privkey. Парольную фразу передают в параметр passphrase, только если выполняются требования безопасности и закрытый ключ хранится в зашифрованном виде.

Возвращаемые значения

Функция возвращает true , если выполнилась успешно, или false , если возникла ошибка.

Примеры

Пример #1 Пример аутентификации с открытым ключом

<?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 "Клиент прошёл аутентификацию по открытому ключу\n";
} else {
 die('Открытый ключ не подтвердил подлинность клиента');
}

Примечания

Замечание:

Библиотека libssh, на базе которой работает PHP-модуль SSH2, не поддерживает частичное подтверждение подлинности на серверах с многофакторной аутентификацией, при которой требуется проверка и открытого ключа, и пароля. Поэтому на шаге проверки открытого ключа возврат значения false часто указывает не на ошибку, а только на незавершённость процесса аутентификации. При многоступенчатой аутентификации ошибку игнорируют и вызывают функцию ssh2_auth_password() , чтобы завершить аутентификацию.

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

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /