Rumah >pembangunan bahagian belakang >tutorial php >详解php如何利用ssh2技术实现远程登录并操作服务器上的程序

详解php如何利用ssh2技术实现远程登录并操作服务器上的程序

零到壹度
零到壹度asal
2018-03-22 09:53:322357semak imbas

由于工作需要将一个在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远程登录后,如何自动执行一段脚本

Atas ialah kandungan terperinci 详解php如何利用ssh2技术实现远程登录并操作服务器上的程序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP中Closure类详解Artikel seterusnya:Redis源码解析