通过PHP与不同用户一起使用SSH


Using SSH via PHP with different user

我有一个PHP文件,单击提交按钮后,将执行另一个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需要用户名。你是提供www数据作为用户名还是提供"特定名称"作为用户名?

如果您有或可以安装sshpass(http://sourceforge.net/projects/sshpass/)你可以试试,它允许在命令行上使用用户名+密码,例如:

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