来自Web服务器的无密码ssh
我有一个虚拟的Ubuntu机器(13.04),我现在可以用它来ssh到一个虚拟的OpenWrt机器。使用无密码SSH没有问题,因为我设置了密钥 Ubuntu机器上还有一个web服务器(使用Apache的XAMPP/LAMPP包),我在其中有一个PHP页面,使用来自Web服务器的无密码ssh,ssh,lampp,Ssh,Lampp,我有一个虚拟的Ubuntu机器(13.04),我现在可以用它来ssh到一个虚拟的OpenWrt机器。使用无密码SSH没有问题,因为我设置了密钥 Ubuntu机器上还有一个web服务器(使用Apache的XAMPP/LAMPP包),我在其中有一个PHP页面,使用shell\u exec()在命令行上运行SSH脚本 但是Web服务器没有与Ubuntu用户相同的权限,因为当我从Web服务器运行脚本时,它会要求输入密码(在弹出框中) 我是否可以用与Ubuntu机器相同的方式为Web服务器创建密钥 我寻找
shell\u exec()
在命令行上运行SSH脚本
但是Web服务器没有与Ubuntu用户相同的权限,因为当我从Web服务器运行脚本时,它会要求输入密码(在弹出框中)
我是否可以用与Ubuntu机器相同的方式为Web服务器创建密钥
我寻找了一个可以在命令行中使用的Apache用户,但据我所知,Apache使用了一个守护进程(我基本上不了解)
这可能吗?是的,可能。最简单的方法大概是这样
- 在ubuntu中,以任何用户的身份生成一个新密钥(ssh-keygen)
- 在openwrt服务器上注册密钥
- 检查钥匙是否工作
- 在ubuntu中,将密钥移动到一个合理的位置(
,如果它没有用作docroot,或/var/www
或/etc/
下的某个位置),并将其传送给apache用户(/srv
可能)www-data
- 在
中,连接时使用shell\u exec
ssh-i$KEYFILE