我想创建一个为ssh身份验证创建密钥的php脚本。 我已经开始了
exec("ssh-keygen -b 1024 -t dsa -N *pwd* -f *path-to-file* -q");
创建私钥和公钥对。没问题,直到这里;)
现在我要将OpenSSL-Key转换为PuTTY的ppk格式(在cmd中,而不是在GUI中)。如果有人对如何管理它有任何想法,请告诉我。
由于
答案 0 :(得分:2)
如果您使用的是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);
?>
答案 1 :(得分:1)
您尚未指定运行的操作系统。在* nix上,您可以使用PuTTYgen(来自PuTTY):
puttygen openssl-key -o mykey.ppk
有关详细信息,请参阅:https://linux.die.net/man/1/puttygen
在Windows上,PuTTYgen只是一个GUI应用程序。但是,您可以使用WinSCP,它有PuTTYgen-compatible command-line interface:
winscp.com /keygen openssl-key -o mykey.ppk