Rsync通过PHP exec()与SSH密码ssh登录

如果我通过PHP exec()运行命令:它不工作.但是如果我使用bash,它运行完美.任何想法可能是什么问题?我在想,也许它正在执行rsync作为apache,不允许ssh登录.
exec('rsync -au /var/www/html/f1/ user@000.000.000.000:/var/www/html/f2/');

解决方法

PHP通常在Apache下运行在mod_PHP下.通常,Apache作为自己的用户帐户运行,独立于使用服务器的真实世界人士.

所以,在用户帐户的主目录下存储无密码SSH密钥的〜/ .ssh文件在Apache内部不可用,因为它没有你的homedir.即使Apache共享了您的主目录,它仍然无权读取这些文件.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...