通过PHP对不同用户使用SSH

通过PHP对不同用户使用SSH,php,shell,ubuntu,ssh,privileges,Php,Shell,Ubuntu,Ssh,Privileges,我有一个PHP文件,在其中单击submit按钮时,另一个PHP脚本正在执行。在第二个PHP脚本中,正在执行一个shell脚本,其中正在与另一个服务器进行SSH连接 我遇到的问题是,到另一台服务器的SSH连接只能由特定用户完成。但是,PHP脚本是由www数据执行的,因此我无法将用户更改为需要ssh连接的用户,因为每次都需要密码 我还尝试从第一个PHP文件执行shell脚本,但仍然没有成功 我的操作系统是UBUNTU 这可以做到吗?如果可以,如何实现? 谢谢您可以使用sudo命令。要将密码传递给它,

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

我遇到的问题是,到另一台服务器的SSH连接只能由特定用户完成。但是,PHP脚本是由www数据执行的,因此我无法将用户更改为需要ssh连接的用户,因为每次都需要密码

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

我的操作系统是UBUNTU

这可以做到吗?如果可以,如何实现?
谢谢

您可以使用
sudo
命令。要将密码传递给它,有一个
-S
选项

您有使用SSH的私钥/公钥的选项(访问权限等)吗?如果是,那么您的第二个PHP脚本将包含以下内容

ssh -l <particular-username> <hostname> -i <private_key_file>
ssh-l-i

您是如何登录的?SSH需要用户名。您是将www数据作为该用户名提供,还是将“特定名称”作为用户名提供?

如果您有或可以安装sshpass(),您可以试一试,它允许在命令行上使用用户名+密码,例如:


您能提供更多信息吗?我确实尝试过使用sudo命令,但是从www数据到我正在使用的用户,它仍然不起作用;我假设www数据用户是一个非常有限的用户,我使用的是另一个用户,而不是www数据。