我有一个PHP文件,在单击提交按钮时,正在执行另一个PHP脚本。在第二个PHP脚本中,正在执行一个shell脚本,其中正在与另一个服务器建立SSH连接。
我遇到的问题是,与其他服务器的SSH连接只能由特定用户完成。但是PHP脚本正在由www-data执行,因此我无法将用户更改为需要ssh连接的用户,因为每次都需要密码。
我还尝试从第一个PHP文件执行shell脚本,但仍然没有成功。
我的操作系统是UBUNTU。
可以这样做,如果可以,这怎么可以实现? 感谢
答案 0 :(得分:1)
您可以使用sudo
命令。要将密码传递给它,有一个-S
选项
答案 1 :(得分:0)
您是否有使用私钥/公钥进行SSH的选项(访问权限等)?如果是,那么您的第二个PHP脚本将包含类似
的内容ssh -l <particular-username> <hostname> -i <private_key_file>
答案 2 :(得分:0)
你是如何登录的? SSH需要用户名。您是以用户名或“特定名称”作为用户名提供www-data?
答案 3 :(得分:0)
如果你有或者可以安装sshpass(http://sourceforge.net/projects/sshpass/)你可以给它一个去,它允许命令行上的用户名+密码,例如: