• LinuxMint下tty.js的安装指南


    1.简介

    tty.js是使用Node.js开发的开源Web-based SSH.通过浏览器即可远程访问shell.

    关于Web-based SSH的介绍参考https://en.wikipedia.org/wiki/Web-based_SSH.

    关于tty.js项目,请参考下面两个网页,

    https://www.npmjs.com/package/tty.js

    https://github.com/chjj/tty.js/

    2.安装

    tty.jsNode.js编写,所在安装之前我们要先安装一下Node.js,参考http://www.cnblogs.com/lienhua34/p/4830891.html.

    运行下面命令从github下载tty.js的源代码,

     $ git clone https://github.com/chjj/tty.js.git

    然后进入tty.js目录下,使用npm进行安装,

    $ cd tty.js
    $ sudo npm install

    在运行npm install过程中,可能会出现node-gyp rebuild的错误,

     

    此时我们需要运行下面两个命令进行处理,

    $ sudo apt-get install build-essential
    $ sudo npm install -g node-gyp

    然后再次运行sudo npm install.

    3.验证

    3.1运行tty.js

    bin目录下有个tty.js的可执行文件,运行该文件,

    $ cd bin && ./tty.js

    便可启动tty.js服务,该服务监听8080端口,

     

    打开浏览器,然后输入http://127.0.0.1:8080/可以访问tty.js,然后点击页面右上角的Open Terminal便可打开网页终端进行命令行操作了(如下图所示)。

     

    3.2自定义tty.js服务

    我们可以在根目录新建一个mytty.js的文件,然后输入以下内容,

    var tty = require('./lib/tty.js');
    var app = tty.createServer({
      shell: 'bash',
      users: {
        foo: 'bar'
      },
      port: 8000
    });
    
    app.get('/foo', function(req, res, next) {
      res.send('bar');
    });
    
    app.listen();

    tty.createServer()中自定义tty服务,其中shell设置了启动的终端程序,users设置了访问web网页时的认证用户信息,port设置了服务监听端口号。保存文件,然后运行下面命令,

    $ node mytty.js

     

    然后在浏览器中输入http://127.0.0.1:8000/,会弹出输入用户名和密码的输入框,输入foobar,然后便可以打开tty服务的网页。

    3.3 tty服务的配置文件

    tty.js服务的配置文件在~/.tty.js/config.json,该文件以json的格式保存相关的配置。一个配置样例如下所示,

    {
      "users": {
        "hello": "world"
      },
      "https": {
        "key": "./server.key",
        "cert": "./server.crt"
      },
      "port": 8080,
      "hostname": "127.0.0.1",
      "shell": "bash",
      "static": "./static",
      "limitGlobal": 10000,
      "limitPerUser": 1000,
      "localOnly": false,
      "cwd": ".",
      "syncSession": false,
      "sessionTimeout": 600000,
      "log": true,
      "io": { "log": false },
      "debug": false,
      "term": {
        "termName": "xterm",
        "geometry": [80, 24],
        "scrollback": 1000,
        "visualBell": false,
        "popOnBell": false,
        "cursorBlink": false,
        "screenKeys": false,
        "colors": [
          "#2e3436",
          "#cc0000",
          "#4e9a06",
          "#c4a000",
          "#3465a4",
          "#75507b",
          "#06989a",
          "#d3d7cf",
          "#555753",
          "#ef2929",
          "#8ae234",
          "#fce94f",
          "#729fcf",
          "#ad7fa8",
          "#34e2e2",
          "#eeeeec"
        ]
      }
    }

    3.4 https协议启动服务

    我们在~/.tty.js目录下运行openssl命令来自己生成一个ssl的证书,

     $ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30000 -nodes

     

    然后在~/tty.js目录下便生成了两个文件cert.pemkey.pem。然后修改将上面的配置文件样例拷贝到~/tty.js/config.json中,然后修改https的配置(如下图所示),

     

    然后运行bin/tty.js

     

    然后在浏览器中输入https://127.0.0.1:8080/,浏览器会提示说这是一个有风险的网站,继续访问即可。

     (done)

  • 相关阅读:
    mysql 清空数据
    centos 7 安装搜狗输入法
    【分布式】分布式事务解决方案
    【Spring】事务的实现方式
    【Maven】 (请使用 -source 8 或更高版本以启用 lambda 表达式)
    【Redis】DENIED Redis is running in protected mode
    【Shiro】调用doGetAuthenticationInfo进行认证成功之后,isAuthenticated是false的问题。
    【线程池】ExecutorService与quartz搭配出现的问题
    【jenkins】jenkins执行nohup java报错
    【MySQL】mac环境下使用navicat premium连接mysql乱码问题
  • 原文地址:https://www.cnblogs.com/lienhua34/p/4858540.html
Copyright © 2020-2023  润新知