Вход на SFTP-сервер с использованием сертификата клиента ECDSA с использованием phpseclib

Я пытаюсь войти на сервер SSH, используя сертификат клиента ECDSA на PHP. Я использую ветку master dev для phpseclib, которая включает поддержку ECDSA с октября 2018 года.

Я взял пример сценария для входа на сервер ssh и адаптировал его для использования моего сертификата:

use phpseclib\Crypt\ECDSA;
use phpseclib\Net\SFTP;

$sftp = new SFTP('server.ssh');
$key = new ECDSA();

echo $key->load(file_get_contents('/path/to/clientkey'));

if (!$sftp->login('username', $key)) {
print_r($sftp->getErrors());
echo 'Login Failed';
} else {
echo 'Login Succeeded!';
}

Этот код выдает следующее практически мгновенно (так что нет времени ожидания):

1 // so the key loads successfully

Array
(
) // no errors that we know of
Login Failed // but no success either

Те же данные для входа в систему работают с использованием командной строки sftp на том же компьютере. Удаленный сервер поддерживает только SFTP-соединения, поэтому я не могу попробовать обычное SSH2-соединение.

Это должно работать еще? Это так должно работать, или в моем коде ошибка?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]