通过PHP与不同用户使用SSH

时间:2013-08-08 08:23:24

标签: php shell ubuntu ssh privileges

我有一个PHP文件,在单击提交按钮时,正在执行另一个PHP脚本。在第二个PHP脚本中,正在执行一个shell脚本,其中正在与另一个服务器建立SSH连接。

我遇到的问题是,与其他服务器的SSH连接只能由特定用户完成。但是PHP脚本正在由www-data执行,因此我无法将用户更改为需要ssh连接的用户,因为每次都需要密码。

我还尝试从第一个PHP文件执行shell脚本,但仍然没有成功。

我的操作系统是UBUNTU。

可以这样做,如果可以,这怎么可以实现? 感谢

4 个答案:

答案 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/)你可以给它一个去,它允许命令行上的用户名+密码,例如:

https://askubuntu.com/questions/282319/how-to-use-sshpass