使用Web Console提供一个简单的远程命令行服务

2019-01-24  本文已影响18人  kongxx

今天调研基于Web的SSH的应用程序的时候无意间看到了一个Web Console的工具,虽然没有满足我的最终需求,但还是试了一下,可以当作一个受限的基于Web远程执行命令工具使用。

下载并解压

首先从 http://web-console.org/ 下载安装包,就是一个zip包 webconsole-0.9.7.zip,下载后解压。

wget -c https://github.com/nickola/web-console/releases/download/v0.9.7/webconsole-0.9.7.zip
unzip webconsole-0.9.7.zip

配置

编辑 webconsole.php 文件

# 如果是单用户使用,添加用户名和密码
$USER = 'admin';
$PASSWORD = 'admin';

# 如果是多用户使用,配置下面两项
# $ACCOUNTS = array('user1' => 'password1', 'user2' => 'password2');

这里说明一下,这里的用户名和密码并不对应linux系统上的用户名和密码,而是指定可以使用 Web Console 这个工具的用户。因此我们可以随意指定。在后太真正执行的linux命令其实是以apache(如果在apache中运行)或者启动webconsole.php这个脚本的用户来执行的。

运行

这里为了方便测试,我并没有放到我的 apache 下运行,而是直接使用 php 启动一个 built-in web 服务来运行。

php -S 192.168.0.123:12345 webconsole.php

然后通过浏览器访问 http://192.168.0.123:12345 来访问。页面打开后,会提示输入用户名和密码,这里就可以输入上面配置的用户名和密码。然后我们运行基本的 linux 命令了。

...
user@192.168.0.123 ~$ hostname
myhost
user@192.168.0.123 ~$ id
uid=1000(kongxx) gid=1000(kongxx) groups=1000(kongxx),10(wheel)

通过上面的命令可以看出最终执行命令的用户其实是kongxx这个Linux用户。

注意

这里需要说明一下,Web Console对于命令执行立刻结束的命令支持比较好,比如上面的两个命令,但是对于一些交互式或者无退出的命令目前还不能支持,一旦运行就会hang住,比如:ping,vi/vim等。

上一篇下一篇

猜你喜欢

热点阅读