2012-07-12 82 views
2

我正在通過現有的SSH連接尋找SSH解決方案,並使用PHP執行命令。我有一個簡單的命令工作。示例:PHP:SSH通過現有的SSH連接

$result = shell_exec("ssh [email protected] ssh [email protected] ls"); 

這適用於通過CLI運行但不通過CGI。我已經使用了PHPSecLib,但是無法知道如何打開第二個連接,一旦連接到server1。

任何人有任何建議?

回答

1

通過CGI運行時,您的PHP腳本可能作爲Web服務器用戶運行,並且該用戶無權訪問您的SSH密鑰。請爲Web服務器用戶提供您的SSH密鑰或安排PHP腳本以您的用戶身份運行,例如使用suPHP

,並確保安全的應用程序,以便您的密鑰不被盜:)

+0

謝謝!我爲「apache」創建了SSH密鑰,一切正常! – mcryan 2012-07-13 07:00:35

0

什麼$ SSH-> EXEC( 'SSH用戶@服務器2 LS')?