3

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

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

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

我的操作系统是 UBUNTU。

可以做到这一点,如果可以,如何做到这一点?谢谢

4

4 回答 4

1

你可以使用sudo命令。要向其传递密码,有一个-S选项

于 2013-08-08T08:26:05.910 回答
0

Do you have the option (access and rights etc.) of using private/public keys for SSH? If yes, then your second PHP script would contain something like

ssh -l <particular-username> <hostname> -i <private_key_file>
于 2013-08-08T08:35:56.187 回答
0

你是如何登录的?SSH 需要用户名。您是提供 www-data 作为该用户名还是提供“特定名称”作为用户名?

于 2013-08-08T13:27:59.217 回答
0

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

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

于 2013-08-09T11:42:58.660 回答