0

我有一个虚拟的 Ubuntu 机器(13.04),我目前可以用它来 ssh 到一个虚拟的 OpenWrt 机器。它对无密码 SSH 没有问题,因为我设置了密钥。

在 Ubuntu 机器上还有一个 Web 服务器(使用 Apache 的 XAMPP/LAMPP 包),我有一个 PHP 页面,该页面使用shell_exec().

但是网络服务器没有与 Ubuntu 用户相同的权限,因为当我从网络服务器运行脚本时,它会要求输入密码(在弹出框中)。

无论如何,我可以像在 Ubuntu 机器上一样为网络服务器创建一个密钥吗?

我一直在寻找可以在命令行中使用的 Apache 用户,但据我所知,Apache 使用了一个守护进程(我基本上不了解)。

这可能吗?

4

1 回答 1

0

对的,这是可能的。最简单的方法可能是这样的

  • 在 ubuntu 中以任何用户身份生成新密钥(ssh-keygen)
  • 在 openwrt 服务器上注册密钥
  • 检查密钥是否有效
  • 在 ubuntu 中将密钥移动到一个合理的位置(/var/www如果它不用作 docroot,或者在/etc/or下的东西/srv)并将它的 chown 给 apache 用户(www-data可能)
  • 连接时shell_exec使用ssh -i $KEYFILE
于 2013-08-17T10:20:18.760 回答