RSA Аутентификация открытого и закрытого ключей в командной строке / PHP

Меня попросили аутентифицировать открытый ключ, полученный через API через SSL, используя метод POST (Открытый ключ в заголовке)

У сервера есть закрытый ключ и Мне нужно аутентифицировать человека, подключающегося к API, используя эти два файла в PHP-скрипте API, и вернуть токен в случае успеха.

Мне нужно сделать это либо из Linux Cli (или через функцию PHP). Если это Cli, я запущу его через команду shell exec php.

Ключи были сгенерированы с использованием 'ssh-keygen -t rsa' и без парольной фразы. Кодовая фраза будет добавлена ​​позже, когда будет завершено тестирование

. Мне не очень повезло найти ответ о том, как это сделать. Я нашел решения только для SSH-соединений или шифрования файлов.

Возможно, подойдет команда php "ssh2_auth_pubkey_file", но для этого нужен ресурс подключения, когда все, что мне нужно сделать, это подтвердить, что открытый ключ является правильным для закрытого ключа.

Кто-нибудь может указать мне правильное направление, пожалуйста?

Ура Джон

0
задан 14 January 2020 в 15:33

1 ответ

ssh-keygen предлагает механизм для сравнения файлов закрытого и открытого ключей.

Допустим, ваш открытый ключ находится в public_key_file , а закрытый ключ - в private_key_file . Затем выполнение

ssh-keygen -y -f private_key_file

запросит кодовую фразу, а затем выведет что-то вроде

ssh-rsa e9gwUnostzLTWF + djmzcMNNS / YcWjZR ...

тогда как cat public_key_file покажет

ssh-rsa e9gwUnostzLTWF + djmzcMNNS / YcWjZR ... , за которым следует строка, содержащая user @ hostname .

Вы можете удалить последнюю строку из команды cat и убедиться, что она в точности совпадает с выводом команды ssh-keygen -y .

0
ответ дан 31 January 2020 в 11:20

Другие вопросы по тегам:

Похожие вопросы: