日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

如何使用PHP SSH2模塊執(zhí)行遠程Linux命令

來源: 責編: 時間:2024-01-26 17:08:40 260觀看
導讀PHP SSH2擴展是用于在PHP程序中使用SSH(安全殼協(xié)議)的一種擴展。它允許建立加密連接和執(zhí)行遠程命令、上傳和下載文件等操作,十分方便實用。下面我將為大家詳細介紹一下該擴展的基本用法和常見操作。安裝libssh2 安裝libs

PHP SSH2擴展是用于在PHP程序中使用SSH(安全殼協(xié)議)的一種擴展。它允許建立加密連接和執(zhí)行遠程命令、上傳和下載文件等操作,十分方便實用。下面我將為大家詳細介紹一下該擴展的基本用法和常見操作。ufq28資訊網(wǎng)——每日最新資訊28at.com

安裝

libssh2 安裝

libssh2 是一個開源的C語言庫,用于實現(xiàn)SSH(Secure Shell)協(xié)議的客戶端功能。它提供了一組API函數(shù),使開發(fā)者可以在自己的應(yīng)用中實現(xiàn)SSH客戶端的功能,如遠程執(zhí)行命令、文件傳輸和端口轉(zhuǎn)發(fā)等。ufq28資訊網(wǎng)——每日最新資訊28at.com

wget https://libssh2.org/download/libssh2-1.11.0.tar.gztar -zxvf libssh2-1.11.0.tar.gzcd libssh2-1.11.0/./configuremakesudo make install

PHP-SSH2 安裝

官方地址:https://pecl.php.net/package/ssh2ufq28資訊網(wǎng)——每日最新資訊28at.com

wget https://pecl.php.net/get/ssh2-1.4.tgztar -zxvf ssh2-1.4.tgzcd ssh2-1.4//usr/local/php-8.2.14/bin/phpize./configure --with-php-config=/usr/local/php-8.2.14/bin/php-configmakemake install

php.ini 添加擴展 ssh2.soufq28資訊網(wǎng)——每日最新資訊28at.com

sudo vim /usr/local/php-8.2.14/etc/php.iniufq28資訊網(wǎng)——每日最新資訊28at.com

extension=ssh2

命令行檢查是否安裝成功ufq28資訊網(wǎng)——每日最新資訊28at.com

/usr/local/php-8.2.14/bin/php -m|grep ssh2ssh2

使用

連接遠程服務(wù)器與SSH2服務(wù)器建立連接是使用PHP SSH2擴展時的第一步。它需要傳遞服務(wù)器地址、端口號、用戶名和密碼。連接成功后,您可以執(zhí)行各種遠程操作。以下是一個簡單的連接示例:ufq28資訊網(wǎng)——每日最新資訊28at.com

用戶名和密碼

$connection = ssh2_connect('tinywan.com', 22);$res = ssh2_auth_password($connection, "username", "password");if ($res) {    echo "Authentication Successful! ";} else {    echo "Authentication Failed! ";    exit(255);}

SSH 密鑰

$connection = ssh2_connect('192.168.1.204', 22, ['hostkey' => 'ssh-rsa']);$res = ssh2_auth_pubkey_file($connection, 'tinywan','/home/tinywan/.ssh/id_rsa.pub','/home/tinywan/.ssh/id_rsa');if ($res) {    echo "Public Key Authentication Successful/n";} else {    echo('Public Key Authentication Failed');}

在此示例中,我們成功地連接到端口22上的tinywan.com服務(wù)器,并傳遞了正確的用戶名和密碼。遠程執(zhí)行命令 該擴展最常見的用途之一是在遠程服務(wù)器上執(zhí)行命令。ufq28資訊網(wǎng)——每日最新資訊28at.com

以下是一個使用ssh2_exec()函數(shù)執(zhí)行命令并打印輸出的示例:ufq28資訊網(wǎng)——每日最新資訊28at.com

$connection = ssh2_connect('tinywan.com', 22);ssh2_auth_password($connection, 'username', 'password');$stream = ssh2_exec($connection, 'ls -l');stream_set_blocking($stream, true);echo stream_get_contents($stream);

在此例子中,我們首先與服務(wù)器建立連接,然后使用ssh2_exec()在服務(wù)器上執(zhí)行l(wèi)s -l命令。我們通過stream_set_blocking()將流設(shè)置為阻塞模式,并使用stream_get_contents()獲取流中的所有內(nèi)容。輸出打印為遠程命令的執(zhí)行結(jié)果。上傳和下載文件 該擴展還允許您在服務(wù)器和本地計算機之間上傳和下載文件。在本例中,我們將使用ssh2_scp_send()和ssh2_scp_recv()函數(shù)。ufq28資訊網(wǎng)——每日最新資訊28at.com

$connection = ssh2_connect('tinywan.com', 22);ssh2_auth_password($connection, 'username', 'password');ssh2_scp_send($connection, '/local_file', '/remote_file');ssh2_scp_recv($connection, '/remote_file', '/local_file');

在此示例中,我們使用ssh2_scp_send()函數(shù)將本地文件/local_file上傳到遠程服務(wù)器上的/remote_file路徑。然而,我們也可以使用ssh2_scp_recv()函數(shù)從遠程服務(wù)器下載文件到本地。錯誤處理 當使用PHP SSH2擴展時,您需要處理錯誤。在連接、執(zhí)行、上傳和下載操作失敗時,該擴展將會返回錯誤代碼和錯誤信息,以幫助您了解失敗的原因。以下是一個錯誤處理的示例:ufq28資訊網(wǎng)——每日最新資訊28at.com

$connection = ssh2_connect('tinywan.com', 22);if (!$connection) {    die('Connection failed.');}$auth = ssh2_auth_password($connection, 'username', 'password');if (!$auth) {    die('Authentication failed.');}

使用if語句檢查ssh2_connect()和ssh2_auth_password()函數(shù)是否成功執(zhí)行。如果這兩個函數(shù)中的任何一個出現(xiàn)錯誤,它將拋出一個失敗信息并終止腳本的執(zhí)行。ufq28資訊網(wǎng)——每日最新資訊28at.com

總結(jié) PHP SSH2擴展為用戶提供了一種簡便的方法,在PHP程序中使用SSH進行連接、執(zhí)行命令、上傳和下載文件等操作。它在服務(wù)器管理和部署的過程中是非常有用的。在使用該擴展時,需要特別注意錯誤處理,以避免出現(xiàn)不必要的問題。希望通過本文的介紹,您對該擴展有了更多的了解。ufq28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-69010-0.html如何使用PHP SSH2模塊執(zhí)行遠程Linux命令

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 聊聊什么是JSX以及在React中的使用

下一篇: iGame RTX 4070 Ti SUPER 系列顯卡開售:游戲性能 2.5 倍于 RTX 3070 Ti!

標簽:
  • 熱門焦點
  • 六大權(quán)益!華為8月服務(wù)日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發(fā)者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務(wù)日也式開啟,到店可享六大專屬權(quán)益。華為用戶可在華為商城Ap
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應(yīng)該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 19個 JavaScript 單行代碼技巧,讓你看起來像個專業(yè)人士

    今天這篇文章跟大家分享18個JS單行代碼,你只需花幾分鐘時間,即可幫助您了解一些您可能不知道的 JS 知識,如果您已經(jīng)知道了,就當作復習一下,古人云,溫故而知新嘛?,F(xiàn)在,我們就開始今
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    ©自象限原創(chuàng)作者|程心排版|王喻可2016年7月13日,百度云計算戰(zhàn)略發(fā)布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 共享單車的故事講到哪了?

    來源丨??素斀?jīng)與共享充電寶相差不多,共享單車已很久沒有被國內(nèi)熱點新聞關(guān)照到了。除了一再漲價和用戶直呼用不起了。近日多家媒體再發(fā)報道稱,成都、天津、鄭州等地多個共享單
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標定為1500萬

    7月29日消息,三星率先發(fā)力可折疊手機市場,在全球市場已經(jīng)取得了非常亮眼的成績,接下來會進一步鞏固和擴大這一優(yōu)勢。三星在推出Galaxy Z Flip5和Galax
  • 支持aptX Lossless無損傳輸 iQOO TWS 1賽道版發(fā)布限時優(yōu)惠價369元

    2023年7月4日,“無損音質(zhì),聲動人心”iQOO TWS 1正式發(fā)布,支持aptX Lossless無損傳輸,限時優(yōu)惠價369元。iQOO TWS 1耳機率先支持端到端aptX Lossless無
  • iQOO 11S評測:行業(yè)唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發(fā)2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
Top 主站蜘蛛池模板: 浙江省| 阳西县| 五台县| 安阳县| 海宁市| 慈溪市| 永吉县| 竹溪县| 铜鼓县| 宁强县| 华阴市| 新宁县| 左权县| 古浪县| 广南县| 岳西县| 察哈| 蚌埠市| 哈巴河县| 澄迈县| 和林格尔县| 无棣县| 革吉县| 敦煌市| 奉新县| 彰武县| 庐江县| 义马市| 托克逊县| 绥化市| 陵川县| 齐齐哈尔市| 泽普县| 清水县| 江津市| 明光市| 阆中市| 海门市| 吴忠市| 平昌县| 乌兰浩特市|