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.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的安装指南的更多相关文章
- LinuxMint系统下Gate One的安装指南
1. Gate One简介 前面有两个随笔介绍过开源软件tty.js和wetty在Linux的安装.Tty.js和wetty都是采用Node.js实现的开源Web-based ssh.今天来介绍另一个 ...
- xss其他标签下的js用法总结大全
前段时间我遇到一个问题,就是说普通的平台获取cookie的语句为↓ Default <script src=js地址></script> 1 <scr ...
- JQuery validate 在IE兼容模式下出现 js错误(成员找不到)的修正:
JQuery validate 在IE兼容模式下 下出现 js错误(成员找不到)的修正: // Add novalidate tag if HTML5. //this.attr( "nova ...
- JS、jqueryie6浏览器下使用js无法提交表单的解决办法
-----------------------JS.jqueryie6浏览器下使用js无法提交表单的解决办法---------------------------------------------- ...
- 指尖下的js ——多触式web前端开发之一:对于Touch的处理
指尖下的js ——多触式web前端开发之一:对于Touch的处理 水果公司的那些small and cute的设备给我们提供了前所未有的用户体验.当用户在iphone和ipad上运指如飞的时候,那些使 ...
- Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
一.安装,从官网上下载安装,安装基本一直点击下一步就行.注意:node.js基于Python的,安装node.js之前电脑上要安装Python,最好是Python2.7或2.6. 二.cmd进入命令行 ...
- linux-mint下搭建android,angularjs,rails,html5开发环境 - qijie29896的个人空间 - 开源中国社区
linux-mint下搭建android,angularjs,rails,html5开发环境 - qijie29896的个人空间 - 开源中国社区 http://blog.csdn.net/orzor ...
- 谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!
谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个 ...
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
随机推荐
- Java中Connection方法笔记
http://www.apihome.cn/api/java/Connection.html public interface Connectionextends Wrapper 与特定数据库的连接( ...
- python MySQLdb安装和使用
MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb: 首先要下载下载:请到官方网站http://sourceforge.net/projects/mysql-py ...
- CAS (12) —— CAS TicketRegistry使用JPA方案数据源c3p0与JNDI
CAS (12) -- CAS TicketRegistry使用JPA方案数据源c3p0与JNDI tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: ...
- sqoop 从sqlserver2008 导入数据到hadoop
今天终于开始上手导入数据到hadoop了,哈哈,过程蛮崎岖的,和官方文档的还不太一样. OK,let's go!试验对象是我第一个名为ST_Statistics的一张表,我要把我表里的数据导入到hdf ...
- HTML5里的input标签的required属性的提示
<input type="text" name="usr_name" required='required' oninvalid="setCus ...
- Java关键字instanceof
深入Java关键字instanceof instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口.抽象类.父类)的实例. 举个例子: public interfa ...
- 基于 bootstrap 的 vue 分页组件
申手党点这里下载示例 基于 bootstrap 的 vue 分页组件,我想会有那么一部分同学,在使用Vue的时候不使用单文件组件,因为不架设 NodeJS 服务端.那么网上流传的 *.vue 的各种分 ...
- css关于定位那些事情
css绝对定位.相对定位和文档流的那些事 前言 接触html.和css时间也不短了,但每次用div+css布局的时候心里还是有点儿虚,有时候干脆就直接用table算了,很多时候用div会出现些不可预料 ...
- 【转】IT族室内锻炼身体的小妙招
上班族.久坐族近年的健康状况令人堪忧,由于缺乏运动加上长期面对辐射,使上班族身体状况越来越差.专家建议上班族应多加运动,只需小小的动作就能轻松获得健康! 梳头:用木梳从前额至头顶部向后部梳刷,逐渐加快 ...
- 磁盘映射: between 宿主机 and 客户机
一.虚拟机映射到宿主机 在虚拟机关机的状态下,双击右侧设备栏里硬盘,在弹出的窗口中单击“实用程序“,选择“映射”.打开映射虚拟磁盘的窗口,其中的“卷”就是你希望映射虚拟机中的哪个分区到主机,如 ...