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.js是Node.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/,会弹出输入用户名和密码的输入框,输入foo和bar,然后便可以打开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: -keyout key.pem -out cert.pem -days  -nodes

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

然后运行bin/tty.js,

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

(done)

LinuxMint下tty.js的安装指南的更多相关文章

  1. LinuxMint系统下Gate One的安装指南

    1. Gate One简介 前面有两个随笔介绍过开源软件tty.js和wetty在Linux的安装.Tty.js和wetty都是采用Node.js实现的开源Web-based ssh.今天来介绍另一个 ...

  2. xss其他标签下的js用法总结大全

    前段时间我遇到一个问题,就是说普通的平台获取cookie的语句为↓           Default <script src=js地址></script> 1 <scr ...

  3. JQuery validate 在IE兼容模式下出现 js错误(成员找不到)的修正:

    JQuery validate 在IE兼容模式下 下出现 js错误(成员找不到)的修正: // Add novalidate tag if HTML5. //this.attr( "nova ...

  4. JS、jqueryie6浏览器下使用js无法提交表单的解决办法

    -----------------------JS.jqueryie6浏览器下使用js无法提交表单的解决办法---------------------------------------------- ...

  5. 指尖下的js ——多触式web前端开发之一:对于Touch的处理

    指尖下的js ——多触式web前端开发之一:对于Touch的处理 水果公司的那些small and cute的设备给我们提供了前所未有的用户体验.当用户在iphone和ipad上运指如飞的时候,那些使 ...

  6. Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件

    一.安装,从官网上下载安装,安装基本一直点击下一步就行.注意:node.js基于Python的,安装node.js之前电脑上要安装Python,最好是Python2.7或2.6. 二.cmd进入命令行 ...

  7. linux-mint下搭建android,angularjs,rails,html5开发环境 - qijie29896的个人空间 - 开源中国社区

    linux-mint下搭建android,angularjs,rails,html5开发环境 - qijie29896的个人空间 - 开源中国社区 http://blog.csdn.net/orzor ...

  8. 谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!

    谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个 ...

  9. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

随机推荐

  1. [转]java利用AES实现URL的参数加密

    原文地址:http://h5566h.iteye.com/blog/1465426 很多时候需要在URL传参,希望URL参数能够加密,这里我结合了文章http://www.2cto.com/kf/20 ...

  2. TCC分布式事务

    https://github.com/changmingxie/tcc-transaction

  3. jQuery 实现前端模糊匹配与首字母搜索

    实现效果 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  4. 【Java/Spring】Spring的配置问题,IDEA报错“No mapping found for HTTP request with URI […] in DispatcherServlet”

    从SVN上拷贝下JavaWeb项目,Spring框架的配置文件需要修改.部署好Tomcat后,启动服务,可以进入Web项目主页,但是访问其他URL时直接跳转到404,IDEA报错“No mapping ...

  5. [RTC]系统时间NTP和RTC同步,Debian的时区配置

    转自:http://www.cnblogs.com/jiu0821/p/5999566.html Debian的时区配置 一. 修改时区 1. 查看当前时区 命令 : "date -R&qu ...

  6. PHP——大话PHP设计模式——基本设计模式(工厂模式、单例模式、注册器模式)

  7. VS2008中设置字体大小和添加显示行号

    1.字体设置 菜单->工具->选项->环境->字体和颜色 在字体那一栏可以选字体,VC6.0默认的字体是Fixedsys,字体大小你可以设为12,就与VC6.0的一样的字体了. ...

  8. 高大上的动态CSS

    项目里要添加 custom css 功能 (dynamic stylesheet ),总结一下实现方法. 1.在JSP中动态设定文件path 预先生成一些css文件,由用户选择,在jsp被请求时,动态 ...

  9. Enums and Lookup Tables with EF Code First

    With EntityFramework’s support for enums, there is no longer any need to include lookup tables in th ...

  10. SSD 固态硬盘,Trim指令 ,查看状态、开启、关闭

    一说到SSD 固态硬盘,经常会看到Trim指令这个名词,那什么是Trim?   Trim是什么? 为了解决硬盘降速的问题,微软联合各大SSD厂商开发了一个新技术——Trim.Trim指令也叫disab ...