我需要通过 php 的 ssh2 函数连接到一些 Amazon EC2 实例以获取一些信息并将其显示在我的后台。
ssh2 函数中是否有一种方法可以执行与通过命令行 ssh 连接时相同的操作?
ssh -i path_to_file/key.pem host01-ec2
Thanks
你可以使用phpseclib,一个纯 PHP SSH 实现 http://phpseclib.sourceforge.net,很容易做到这一点:
<?php
include('Crypt/RSA.php');
include('Net/SSH2.php');
$key = new Crypt_RSA();
//$key->setPassword('whatever');
$key->loadKey(file_get_contents('privatekey'));
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', $key)) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
phpseclib 似乎支持多种不同的密钥格式:
ssh2_auth_pubkey_file() 需要公钥和私钥的事实是愚蠢的,因为 99% 的情况下私钥都嵌入了公钥。但无论如何 - 这不像他们问我哈哈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)