php – 无法从Apache内部与Net_SSH2连接

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 无法从Apache内部与Net_SSH2连接脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从 PHP SSH,但我收到以下错误

注意:无法连接到[host].错误13.
第875行/usr/share/PHP/Net/SSH2.PHP中的权限被拒绝

这是代码

<?PHP
error_reporting(E_ALL);
ini_set('display_errors',TRUE);
include_once('Net/SSH2.PHP');
define('NET_SSH2_LOGginG',NET_SSH2_LOG_COMPLEX);

$ssh = new Net_SSH2($host);

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

但是当我从命令行运行这个相同的代码apache混合使用它运行正常.

我有一个与使用paramiko到SSH的python脚本完全相同的问题,并从apache调用.它从命令行运行良好但在apache中从PHP调用时失败并出现权限错误.使用这个脚本只是一个测试; python不会在最终解决方案中使用.

那么,为什么SSH在apache之外工作但不在内部?我已经使用su从命令行运行PHP代码作为apache,这也有效,因此它不是用户权限问题.

更新:

AAaarrrggh!被SELinux再次咬伤.这个页面解决方案:
php run git got “ssh Permission denied”

答案是:

setsebool -P httpd_can_network_connect=1

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

我忽略了提到这是在CentOS系统上,因此在SELinux的监视下,我的错误.

解决方法

答案是:

setsebool -P httpd_can_network_connect=1

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

脚本宝典总结

以上是脚本宝典为你收集整理的php – 无法从Apache内部与Net_SSH2连接全部内容,希望文章能够帮你解决php – 无法从Apache内部与Net_SSH2连接所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。