【问题标题】:Can't execute ssh from php无法从 php 执行 ssh
【发布时间】:2010-10-01 22:57:21
【问题描述】:

我似乎无法从任何 PHP 函数(如 execsystempassthru 等)执行 ssh 命令。

我什至尝试过/bin/ssh,但是没有显示输出

有什么想法吗?我可以通过执行“su - www-data”然后尝试 ssh 来确认这一点,这意味着 apache 用户可以访问 ssh..

谢谢

更新:对不起,看来 ssh 运行正常,是远程命令没有运行。示例:

$remote_command = "/usr/bin/ssh -i /home/www-data/id_rsa testuser@10.0.1.10 'echo hi > /home/testuser/test'";
passthru($remote_command);

我在远程服务器上看到了流量,但是没有创建新文件“test”..

【问题讨论】:

  • 你能告诉我们一些你正在使用的代码吗?在本质上。通过命令行调用 ssh 应该可以工作,究竟出了什么问题取决于你正在尝试做什么以及你是如何做到的......

标签: php apache ssh sudo


【解决方案1】:

请注意,php exec 函数只捕获标准输出stdout,而不是错误输出stderr。执行命令时应将stderr 重定向到stdout,即passthru("ssh ... 2>&1");

【讨论】:

  • 很抱歉延迟接受答案。它说我必须等待 5 分钟
猜你喜欢
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多