首頁  >  文章  >  後端開發  >  詳解php如何利用ssh2技術實現遠端登入並操作伺服器上的程序

詳解php如何利用ssh2技術實現遠端登入並操作伺服器上的程序

零到壹度
零到壹度原創
2018-03-22 09:53:322328瀏覽

由於工作需要將一個在linux端運行的軟體視覺化,打算基於web的形式將其視覺化。帶來的問題是如何跨平台無縫銜接web和linux中的軟體,有幸的看到一個方法,利用ssh2技術來實現我的需求。

下面提供我的案例:

#首先在linux端安裝ssh2包,然後在需要執行linux指令,執行linux端程式的頁面加入以下程式碼:

<?php
$host=&#39;*******&#39;;//服务器的ip
$user=&#39;****&#39;;//用户名
$passwd=&#39;******&#39;;//密码
// 链接远程服务器
$connection = ssh2_connect($host, 22);
if (!$connection) die(&#39;connection to &#39;.$host.&#39;:22 failed&#39;);
echo &#39;connection OK<br/>&#39;;
// 获取验证方式并打印
$auth_methods = ssh2_auth_none($connection, $user);
print_r( $auth_methods.&#39;<br/>&#39;);
if (in_array(&#39;password&#39;, $auth_methods ))
{
// 通过password方式登录远程服务器
if (ssh2_auth_password($connection, $user, $passwd))
{
echo $user.&#39; login OK<br/>&#39;;
$stream = ssh2_exec($connection, "命令1&&命令2"); // 一条一条地执行linux命令
stream_set_blocking($stream, true); // 获取执行pwd后的内容
if ($stream === FALSE) die("pwd failed");
echo stream_get_contents($stream).&#39;<br/>&#39;;
}
else
{
die( $user.&#39; login Failed<br/>&#39;);
}
}
?>

親測有效。

相關推薦:

java利用ssh2協定遠端登入

SSH2遠端登入後,如何自動執行一段腳本

以上是詳解php如何利用ssh2技術實現遠端登入並操作伺服器上的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn