Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont PHP utilise la technologie ssh2 pour réaliser une connexion à distance et faire fonctionner des programmes sur le serveur

Explication détaillée de la façon dont PHP utilise la technologie ssh2 pour réaliser une connexion à distance et faire fonctionner des programmes sur le serveur

零到壹度
零到壹度original
2018-03-22 09:53:322272parcourir

Comme mon travail nécessite la visualisation d'un logiciel fonctionnant côté Linux, j'envisage de le visualiser basé sur le web. Le problème est de savoir comment connecter de manière transparente les logiciels Web et Linux sur toutes les plates-formes. Heureusement, j'ai trouvé un moyen de répondre à mes besoins en utilisant la technologie ssh2.

Mon cas est présenté ci-dessous :

Installez d'abord le package ssh2 côté Linux, puis exécutez le Linux si nécessaire, ajoutez le code suivant à la page exécutant le programme 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;);
}
}
?>

Les tests personnels sont efficaces.

Recommandations associées :

Connexion à distance Java à l'aide du protocole ssh2

Comment s'exécuter automatiquement après la connexion à distance SSH2 Un scénario

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn