从本地 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 文件连接亚马逊 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');
关于php - ssh 从 php 访问 ec2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658933/