美文网首页
使用Web Console提供一个简单的远程命令行服务

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

作者: kongxx | 来源:发表于2019-01-24 11:20 被阅读18次

    今天调研基于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等。

    相关文章

      网友评论

          本文标题:使用Web Console提供一个简单的远程命令行服务

          本文链接:https://www.haomeiwen.com/subject/rhdyjqtx.html