[英]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.