来自网络服务器的无密码ssh

时间:2013-08-17 04:33:54

标签: ssh lampp

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

在Ubuntu机器上还有一个Web服务器(使用Apache的XAMPP / LAMPP包),我有一个PHP页面,它使用shell_exec()在命令行上运行SSH脚本。

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

无论如何,我能以与Ubuntu机器相同的方式为Web服务器创建密钥吗?

我已经找到了一个可以在命令行中使用的Apache用户,但据我所知,Apache使用了一个守护进程(我基本上没有理解)。

这可能吗?

1 个答案:

答案 0 :(得分:0)

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

  • 在ubuntu中生成一个新密钥作为任何用户(ssh-keygen)
  • 在openwrt服务器上注册密钥
  • 检查密钥是否正常工作
  • 在ubuntu中将密钥移动到合理的位置(/var/www,如果 NOT 用作docroot,或/etc//srv下的内容它到apache用户(可能是www-data
  • shell_exec连接时使用ssh -i $KEYFILE