首頁 > 軟體

Linux Mint下tty.js的安裝指南

2020-06-16 17:51:49

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.linuxidc.com/Linux/2015-09/123581.htm 。

執行下面命令從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:2048 -keyout key.pem -out cert.pem -days 30000 -nodes

 

然後在~/tty.js目錄下便生成了兩個檔案cert.pem和key.pem。然後修改將上面的組態檔樣例拷貝到~/tty.js/config.json中,然後修改https的設定(如下圖所示),

然後執行bin/tty.js,

然後在瀏覽器中輸入https://127.0.0.1:8080/,瀏覽器會提示說這是一個有風險的網站,繼續存取即可。

 (done)

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-10/123924.htm


IT145.com E-mail:sddin#qq.com