PHP / Bash: создание PPK из ключа OpenSSH с кодовой фразой

Я хотел бы создать php-скрипт, который создает ключи для ssh-аутентификации. Я начал с

exec("ssh-keygen -b 1024 -t dsa -N *pwd* -f *path-to-file* -q"); 

для создания частной и открытой пары ключей. Нет проблем до здесь;)

Теперь я должен преобразовать OpenSSL-ключ в ppk-формат PuTTY (в cmd, а не в GUI). Если у кого-то есть идея о том, как это сделать, сообщите мне.

благодаря

    Если вы работаете с ключами RSA, вы можете сделать это (требуется phpseclib ):

     <?php include('Crypt/RSA.php'); $rsa = new Crypt_RSA(); $rsa->setPassword('password'); $rsa->loadKey('...'); //$rsa->setPassword(); // clear the password if there was one echo $rsa->getPrivateKey(CRYPT_RSA_PRIVATE_FORMAT_PUTTY); ?> в <?php include('Crypt/RSA.php'); $rsa = new Crypt_RSA(); $rsa->setPassword('password'); $rsa->loadKey('...'); //$rsa->setPassword(); // clear the password if there was one echo $rsa->getPrivateKey(CRYPT_RSA_PRIVATE_FORMAT_PUTTY); ?> 

    Вы не указали, на какой ОС вы работаете. На * nix вы можете использовать PuTTYgen (из PuTTY):

     puttygen openssl-key -o mykey.ppk 

    Подробнее см .: https://linux.die.net/man/1/puttygen

    В Windows PuTTYgen является только графическим приложением. Хотя вы можете использовать WinSCP, он имеет интерфейс командной строки, совместимый с PuTTYgen :

     winscp.com /keygen openssl-key -o mykey.ppk