Я хотел бы создать 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