我正在寻找通过现有 SSH 连接的 SSH 解决方案并使用 PHP 执行命令。我已经用一个简单的命令完成了这个工作。例子:
$result = shell_exec("ssh user@server1 ssh user@server2 ls");
这在通过 CLI 而不是 CGI 运行时有效。我已经使用 PHPSecLib 进行了一些工作,但是一旦我与 server1 建立了连接,我就无法弄清楚如何打开第二个连接。
有人有什么建议吗?
通过 CGI 运行时,您的 PHP 脚本可能以 Web 服务器用户身份运行,并且该用户无权访问您的 SSH 密钥。要么给 web 服务器用户你的 SSH 密钥,要么安排 PHP 脚本以你的用户身份运行,例如使用suPHP。
并确保保护您的应用程序,以免您的密钥被盗:)
$ssh->exec('ssh user@server2 ls') 呢?