[英]ssh access to ec2 from php
从本地ubuntu linux机器通过ssh访问连接ec2机器。
当我从终端运行这个PHP脚本时,它执行正常并在文件中写入尾部条目。 当我从浏览器运行时在apache错误日志中得到此错误
ssh:无法解析主机名proxy2:名称或服务未知
发现它由于apache用户权限问题。 我的猜测是对还是错,我不确定。 任何人都可以帮我解决这个问题。
php代码: -
<?php
$ss = 'ssh proxy2 '.'tail -n 3 /out/speed_log.txt.1'.' > proxy2temp1';
system($ss);
?>
**终于找到了使用phpseclib的解决方案并解决了我的问题。 我建议phpseclib从php uing .pem文件连接amazon ec2机器,以帮助其他人分享我的示例代码。
确保.pem文件需要读取权限**
示例代码:
include('Net/SSH2.php');
include('Crypt/RSA.php');
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('/pathtokey.pem'));
$ssh = new Net_SSH2('ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com');
if (!$ssh->login('user', $key)) {
exit('Login Failed');
}
echo $ssh->exec('tail -n 3 /out/_log.txt.1');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.