簡體   English   中英

php腳本訪問遠程linux服務器並執行bash腳本

[英]php script to access remote linux server and execute bash script

我正在嘗試執行以下操作。

讓 php 在我們的遠程服務器上執行 shell 命令。 這是因為我希望能夠通過 bash 安裝腳本,所以 php 將在遠程服務器上執行 bash 腳本。

問題是由於某種原因無法連接到遠程服務器。 我已經嘗試了幾種方法來做到這一點,而且我必須使用 root 和密碼。 稍后我可以考慮加密它們或類似的東西,但我不能使用 ssh 密鑰,所以這是行不通的。 我對 php 部分很陌生,所以我需要一些幫助來確定連接到遠程服務器的熱點。

我現在正在嘗試的代碼是

  $ip = '37.130.000.00'; 
$user = 'admin'; 
$pass = 'xxxxxxxxx'; 

$connection = ssh2_connect($ip); 
ssh2_auth_password($connection,$user,$pass); 
$shell = ssh2_shell($connection,"uptime");


 echo $shell;

出於某種原因,此代碼給了我以下錯誤

致命錯誤:調用未定義的函數 ssh2_connect()

我怎樣才能完成這項工作,或者我應該怎么做才能正確連接到遠程服務器,這一切都應該非常靈活,因為我們正在談論 100 台應該能夠以這種方式連接的服務器。

感謝您提供任何意見。

該功能由您似乎尚未安裝的可選擴展提供。 如果您的系統中有 libssh 和其他依賴項,請通過執行獲得 pecl-ssh

sudo pecl install ssh2 channel://pecl.php.net/ssh2-0.11.3

如果您使用的是 modphp,然后重新啟動 php-fpm 或 apache。

編輯:順便說一句,之前已經問過這個問題,我見過的最明智的建議之一是切換到純 php 實現,沒有任何 pecl 擴展: php-function-ssh2-connect-is-not -在職的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM