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