2

我想为自动化测试工具制作一个 GUI,目前在 CLI 中,我们需要将其转换为 ig GUI,现在我面临的问题是我选择了 HTML、CSS、JS 作为前端,PHP 作为后端,所以你们中的任何一个都可以建议我如何登录到有一些 IP 的服务器吗?或者只是如何使用 PHP 代码登录到 linux 服务器?

4

5 回答 5

2

libssh2 扩展是一个 PITA。难以安装和使用。我的建议。使用 phpseclib。例子:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('hostname', 22);
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('php -v');
?>
于 2015-04-16T21:40:37.963 回答
1

您可以使用“Secure Shell2”PHP 模块通过 SSH 打开连接。

https://php.net/manual/en/book.ssh2.php

// 打开一个 SSH 连接(主机名 = 远程计算机的 IP 或网络名称)

$connection = ssh2_connect('主机名', 22);

// 通过登录名/密码进行身份验证

ssh2_auth_password($connection, '用户名', '密码');

然后执行命令:

// 在远程计算机上执行一个 shell 命令(例如 'php -v' 来了解 PHP 版本)

$stream = ssh2_exec($connection, 'php -v');

// 从远程计算机读取结果到本地计算机

stream_set_blocking($stream, true);

$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);

// 在本地计算机上打印结果

回声流获取内容($stream_out);

于 2015-04-10T09:09:24.270 回答
0

使用 PHP,您无法登录服务器,因为您只运行 php 脚本,但实际上您并不是一个做事的用户。也就是说,有一个为 php-scripts 设置的用户。每次您发送请求以获取用户运行脚本并发送结果的 php 文件时。

如果要从服务器输出数据,则必须通过 php 访问这些数据。您可以将这些 PHP 文件作为网站的一部分打开。

于 2015-04-10T09:00:59.110 回答
0

您无需从 PHP 登录到服务器,但是如果您的 Web 服务器在您尝试控制的同一台服务器上运行,您可以轻松地从 PHP 执行 shell 命令和脚本。 shell_exec

请注意您授予命令和脚本的权限。

于 2015-04-10T09:32:50.070 回答
0

如何执行“service bind9 restart”使用phpseclib ..代码为:

<?php include('Net/SSH2.php'); 
 $ssh = new Net_SSH2('xxxx');
 if (!$ssh->login('xx', 'xxx')) {
 exit('Login Failed');
 }
 echo $ssh->exec('service bind9 restart');
?>

输出:bind9:无法识别的服务

谢谢

于 2016-08-22T09:02:36.447 回答