无法从Apache内部与Net_SSH2连接

 SuperBaby蜜 发布于 2023-01-06 16:42

我正在尝试从PHP进行SSH,但出现以下错误:

注意:无法连接到[主机]。错误13。在第875行的/usr/share/php/Net/SSH2.php中,权限被拒绝

这是代码:

login($id, $pw) )
{
  error_log("logged");
  $result['data'] = $ssh->exec('dir');
}
else
{
  error_log( $ssh->getLog() );
}
?>

但是,当我在apache中从命令行运行相同的代码时,它运行良好。

我对使用paramiko进行SSH并从apache调用的python脚本有完全相同的问题。它可以从命令行正常运行,但是在Apache中从PHP调用时失败,并显示权限错误。使用此脚本只是一个测试;python不会在最终解决方案中使用。

那么,为什么SSH在Apache外部而不是在内部工作?我已经使用su从命令行以apache的身份运行PHP代码,并且该方法也有效,因此这不是用户权限问题。

更新:

AAaarrrggh!被SELinux再次咬伤。此页面具有解决方案: php run git得到了“ ssh许可被拒绝”

答案是:

setsebool -P httpd_can_network_connect=1

基本上,apache无权启动网络连接!

我忽略了这是在CentOS系统上的问题,因此在SELinux的密切关注下,这是我的错。

1 个回答
  • 答案是:

    setsebool -P httpd_can_network_connect=1
    

    基本上,apache无权启动网络连接

    2023-01-06 16:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有